提问者:小点点

GCP数据流作业部署


我试图自动化CI/CD的经典模板。

在留档后的GCS上创建和分阶段模板

在代码更改(错误修复等)时,我打算耗尽现有作业并创建一个同名的新作业。

为了耗尽现有的工作,我需要JOB_ID,但我只有在创建工作期间使用的JOB_NAME。

我看到的唯一方法是使用list命令并获取活动作业,处理输出以提取作业id以在排水命令中使用它。这似乎是一个相当迂回的方式。没有办法用Job_Name或至少从JOB_NAME中获取JOB_ID。


共2个答案

匿名用户

当您使用gcloud dataflow job run命令创建作业时,运行此命令的响应应以以下方式返回JOB_ID(例如,如果您创建批处理作业):

    id: 2016-10-11_17_10_59-1234530157620696789
    projectId: YOUR_PROJECT_ID
    type: JOB_TYPE_BATCH

正如您所提到的,使用gcloud数据流作业列表将是使用自动化关联JOB_NAMEJOB_ID的直接方法。使用Python脚本实现这一点的方法在社区的另一篇文章中描述。

匿名用户

GCP提供RESTAPI来更新数据流作业。无需显式耗尽现有作业并创建新作业。

你也可以通过Python代码来实现。参考我的GIST Python代码。