我正在尝试按照here所述的REST API以编程方式更新云DataFlow作业
我有一个PubSub到BigQuery的工作,我的最终目标是替换BigQuery输出表。
我尝试使用 replacementByJobId 字段用新作业更新当前作业,但总是收到此错误:
{ "错误":{ "代码":400, " message":"(b7fd8310f1b85ccf):无法修改工作流程;无效的修饰符值:0", " status":" INVALID_ARGUMENT" }}
请求正文:
{ " id":" jobid ", " projectId":" projectId ", " replacementByJobId =" newJobId ",}
是否有另一种方法可以替换正在运行的作业的参数(OutputTable)或用新的类似作业替换正在运行的作业?
答案 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