You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从GCP Workflows调用Datafusion管道:示例及认证方式问询

从Cloud Workflows启动Cloud Data Fusion管道的实现方案

可行示例(YAML)

以下是直接通过Cloud Workflows调用Data Fusion REST API启动管道的流程示例:

main:
  params: [input]
  steps:
    - get_access_token:
        call: googleapis.auth.get_access_token
        args:
          scope: "https://www.googleapis.com/auth/cloud-platform"
        result: token

    - start_datafusion_pipeline:
        call: http.post
        args:
          url: ${"https://datafusion.googleapis.com/v1/projects/" + input.project_id + "/locations/" + input.location + "/instances/" + input.instance_id + "/pipelines/" + input.pipeline_name + ":start"}
          headers:
            Authorization: ${"Bearer " + token.access_token}
            Content-Type: "application/json"
          body:
            runtimeArguments: {} # 可按需传入管道运行参数
        result: pipeline_response

    - return_result:
        return: ${pipeline_response}

如果需要等待管道执行完成,可在流程中添加轮询步骤,调用/pipelines/{pipeline_name}/state接口查询状态,直到返回SUCCEEDED或FAILED状态。

认证机制处理

  1. 服务账号权限配置

    • Cloud Workflows默认使用自身的服务账号(格式:[WORKFLOW_NAME]@[PROJECT_ID].iam.gserviceaccount.com)发起API调用。
    • 需为该服务账号授予Cloud Data Fusion Admin角色(roles/datafusion.admin),或更精细的权限如datafusion.pipelines.start和datafusion.pipelines.get,确保具备启动、查询管道的权限。
  2. 令牌自动获取

    • 示例中通过googleapis.auth.get_access_token内置函数自动生成访问令牌,无需手动编写OAuth2认证逻辑。该函数会基于Workflows服务账号身份生成带指定权限范围的令牌,默认有效期3600秒。
  3. 与Cloud Functions调用的差异

    • 此前用Cloud Functions调用时,通常需在函数内通过应用默认凭据(ADC)获取令牌;Workflows通过内置auth模块简化了这一步骤,无需在流程代码中额外处理凭据逻辑。

内容的提问来源于stack exchange,提问作者RaptorX

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 07:32:08