Google 数据流模板 - 传递 NumWorkers、MaxNumWorkers、WorkerMachineType、AutoscalingAlgorithm

Google Dataflow Templates - passing NumWorkers, MaxNumWorkers, WorkerMachineType, AutoscalingAlgorithm

我正在使用 Google Cloud Dataflow Java SDK 2.1.0。

我可以使用 --templateLocation 管道选项以及我想在 运行 时传递的其他一些 ValueProvider 管道选项来创建模板。我正在从云函数中使用 Google 数据流 API 调用模板。

模板使用参数 stagingLocation、tempLocation 和我的自定义参数工作正常,但是当我在 API 调用中传递 numWorkers、maxNumWorkers、workerMachineType、autoscalingAlgorithm 的参数时,出现 "Found unexpected parameters" 错误对于这些。我阅读了另一个 Whosebug post 并使用如下日志语句中引用的这些 DataflowPipelineOptions 创建了另一个模板:

LOG.info("Number of workers => " + String.valueOf(options.getNumWorkers()));

新模板确实接受了上面提到的默认管道选项。所以看起来模板没有携带管道代码中未引用的管道选项 - 这对于自定义选项是可以的,但我想所有默认管道选项应该始终存在于任何模板中。

任何人都可以确认这是否是预期的行为,或者让我知道我是否做得不对?

纠正您的错误,无法按照您尝试的方式指定环境参数。

'maxWorkers'、'zone'、'tempLocation'、'machineType'、'network' 和 'subnetwork' 可以指定为 [=15 的一部分=]环境。有关在请求中指定它们的方法,请参阅 Cloud Dataflow 文档中的 Example 1