【问题标题】:GCP Dataflow Job DeploymentGCP 数据流作业部署
【发布时间】:2021-01-22 01:34:34
【问题描述】:

我正在尝试自动化经典模板的 CI/CD。

documentation 之后在 GCS 上创建和暂存模板

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

对于drain 现有工作,我需要 JOB_ID,但我只有在创建工作期间使用的 JOB_NAME。

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

【问题讨论】:

    标签: google-cloud-platform google-cloud-dataflow


    【解决方案1】:

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

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

    正如您提到的那样,使用gcloud dataflow jobs list 将是使用自动化关联JOB_NAMEJOB_ID 的直接方法。在社区中的另一个post 中描述了使用 Python 脚本实现此目的的方法。

    【讨论】:

      【解决方案2】:

      GCP 提供REST API 来更新数据流作业。无需明确排空现有作业并创建新作业。

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

      【讨论】:

        猜你喜欢
        • 2020-08-05
        • 1970-01-01
        • 1970-01-01
        • 2020-05-30
        • 2021-10-17
        • 2022-10-13
        • 1970-01-01
        • 2021-05-18
        • 2019-02-08
        相关资源
        最近更新 更多