从其余API更新Dataflow作业

时间:2017-11-27 17:38:22

标签: google-cloud-dataflow

我正在尝试按照here所述的REST API以编程方式更新云DataFlow作业

我有一个PubSub到BigQuery的工作,我的最终目标是替换BigQuery输出表。

我尝试使用 replacementByJobId 字段用新作业更新当前作业,但总是收到此错误:

  

{       "错误":{           "代码":400,           " message":"(b7fd8310f1b85ccf):无法修改工作流程;无效的修饰符值:0",           " status":" INVALID_ARGUMENT"       }}

请求正文:

  

{       " id":" jobid ",       " projectId":" projectId ",       " replacementByJobId =" newJobId ",}

是否有另一种方法可以替换正在运行的作业的参数(OutputTable)或用新的类似作业替换正在运行的作业?

2 个答案:

答案 0 :(得分:1)

要更新作业,您还需要提供兼容的替换作业。请注意,目前仅使用Java SDK支持更新。

您可以在Updating an Existing Pipeline: Launching Your Replacement Job找到有关使用Java SDK进行更新的文档。

答案 1 :(得分:0)

java -jar pipeline/build/libs/pipeline-service-1.0.jar \
        --project=my-project \
        --zone=us-central1-f \
        --streaming=true \
        --stagingLocation=gs://my-bucket/tmp/dataflow/staging/ \
        --runner=DataflowPipelineRunner \
        --numWorkers=5 \
        --workerMachineType=n1-standard-2 \
        --jobName=ingresspipeline \
        --update