在工作流程中使用 api Rest 从数据流作业获取作业状态

问题描述 投票:0回答:1

我正在使用工作流来编排 2 个数据流作业。

我想使用apirest获取作业状态,到目前为止,我无法从作业中获取当前状态。

main:
  params: [input]
  steps:
    - launch:
        call: http.get
        args:
          url: ${"https://dataflow.googleapis.com/v1b3/projects/tough-mechanic-412801/locations/us-east1/jobs/2024-02-05_16_13_09-17600975029932351234?view=JOB_VIEW_SUMMARY"}
          auth:
            type: OAuth2
        result: jobResponse

这是我尝试获取状态的方式,但它似乎不存在。

这帮助我了解结构,但没有成功。

以下是工作流程 yaml 的输出:

null

根据这个link,网址是正确的,我错过了什么吗? 所需的输出是为了了解作业状态,或者作业是否为 JOB_STATE_DONE

在最后一个链接中,gcp 提供了一个 api 资源管理器来测试,它可以工作并给了我响应..但它没有在工作流程中。

google-cloud-platform google-cloud-dataflow workflow
1个回答
0
投票

按照此公共参考中概述的信息,我能够返回我的 Dataflow 作业状态,如下所示:

    assign:
      - project_id: ${sys.get_env("GOOGLE_CLOUD_PROJECT_ID")}
      - location: "us-east1" 
      - job_id: "2024-02-06_07_45_57-18000083319361085516"

- get_job_status:
    call: googleapis.dataflow.v1b3.projects.locations.jobs.get
    args:
      projectId: ${project_id}
      location: ${location}
      jobId: ${job_id}
    result: job_details

- return_status:
    return: ${"Job Status " + job_details.currentState}
© www.soinside.com 2019 - 2024. All rights reserved.