我可以在 Google Cloud Workflows 中为 http.post 函数指定凭据吗?

问题描述

我正在使用 Google Cloud Workflows 来调用 BigQuery 存储过程,并且正在使用 http.post function 以便通过调用 bigquery API 来执行此操作:

  - postCallMyStoredProc:
      call: http.post
      args:
          url: https://bigquery.googleapis.com/bigquery/v2/projects/myproject/jobs
          body: {
                    "configuration": {
                        "query": {
                            "query": "call mydataset.my-stored-procedure()","useLegacysql": false
                        }
                    }
                }
          auth: 
            type: OAuth2

我很想知道可以为 auth 参数提供哪些信息,https://cloud.google.com/workflows/docs/reference/stdlib/http/post 处的文档在这方面相当缺乏。它的全部内容是:

auth :可选的身份验证属性。如果存在,必须是字典,类型属性在 ["OIDC","OAuth2"] 中。

它没有告诉我应该在什么情况下使用这些选项(OIDC 或 OAuth2)。

我询问的原因是存储过程作为我的工作流运行的服务帐户执行 - 这当然完全有意义。我想知道是否可以使用 postCallMyStoredProc 参数为我的 auth 步骤指定不同的服务帐户?

解决方法

阅读https://cloud.google.com/workflows/docs/authentication#making_authenticated_requests后,我的问题的答案似乎是否定的。