小编bc3*_*ech的帖子

如何从 GitHub Actions 中的重定向输出中删除所有无关输出?

我有一个使用 Terraform 进行部署的 GitHub Actions 工作流程。

当 Terraform 完成后,我想获取 Terraform 输出并将其发送到工作流程中的下一个作业,以便可以提取和使用各个部分。具体来说,我的 Terraform 部署一个 Azure Function,然后输出函数应用名称。然后,它被用来告诉下一个作业在哪里部署函数代码。

但是,当我像这样重定向输出时terraform output

      - name: save tf output
        run: terraform output -json > tfoutput.json
        shell: bash
        working-directory: terraform
Run Code Online (Sandbox Code Playgroud)

然后将其放入工作工件中

      - name: Upload output file
        uses: actions/upload-artifact@v2
        with:
          name: terraform-output
          path: terraform/tfoutput.json
Run Code Online (Sandbox Code Playgroud)

内容结果文件如下所示:

[command]/home/runner/work/_temp/fb419afc-033e-4058-b5f3-c44b90cb0bd0/terraform-bin output -json
{
  "functionappname": {
    "sensitive": false,
    "type": "string",
    "value": "telemetry-function"
  }
}
::debug::Terraform exited with code 0.
::debug::stdout: {%0A  "functionappname": {%0A    "sensitive": false,%0A    "type": "string",%0A    "value": "telemetry-function"%0A  }%0A}%0A
::debug::stderr: 
::debug::exitcode: …
Run Code Online (Sandbox Code Playgroud)

terraform github-actions

4
推荐指数
1
解决办法
2424
查看次数

使用Azure DocumentDB(CosmosDB).Net SDK

看到这个问题后,我不确定为什么DocDb实例的以下代码不起作用

var userApps = _docs.CreateDocumentQuery(UriFactory.CreateDocumentCollectionUri(Constants.Databases.Applications.ID, Constants.Databases.Applications.Collections.USER_APPS),
        new SqlQuerySpec(@"SELECT r.appId FROM ROOT r WHERE r.userId = @userId", (@"@userId", userId).ToSqlParameters()))
    .ToList()
    .Select(s => (string)s.appId);
var query = _docs.CreateDocumentQuery<Document>(UriFactory.CreateDocumentCollectionUri(Constants.Databases.Applications.ID, Constants.Databases.Applications.Collections.APP_DEFINITIONS),
        new SqlQuerySpec(@"SELECT r.id, r.appName FROM ROOT r WHERE r.appId IN (@userApps)", (@"@userApps", userApps.ToArray()).ToSqlParameters()),
        new FeedOptions { EnableCrossPartitionQuery = true })
    .AsDocumentQuery();
Run Code Online (Sandbox Code Playgroud)

当我执行此操作时,尽管我知道数据应该返回我一个结果集,但每次它都返回为空。

到目前为止的故障排除

的变体 .Select()

将我输入的字符串返回string.Join到以逗号分隔的列表中。

例如:

var userApps = string.Join(@",", _docs.CreateDocumentQuery(UriFactory.CreateDocumentCollectionUri(Constants.Databases.Applications.ID, Constants.Databases.Applications.Collections.USER_APPS),
        new SqlQuerySpec(@"SELECT r.appId FROM ROOT r WHERE r.userId = @userId", (@"@userId", userId).ToSqlParameters())) …
Run Code Online (Sandbox Code Playgroud)

azure azure-cosmosdb

1
推荐指数
1
解决办法
817
查看次数

标签 统计

azure ×1

azure-cosmosdb ×1

github-actions ×1

terraform ×1