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

Google cloud dataflow Google数据流模板-传递NumWorkers、MaxNumWorkers、WorkerMachineType、AutoscalingAlgorithm,google-cloud-dataflow,apache-beam,Google Cloud Dataflow,Apache Beam,我正在使用Google云数据流Java SDK 2.1.0 我可以使用--templateLocation管道选项以及我希望在运行时传递的一些其他ValueProvider管道选项创建模板。我正在云函数中使用GoogleDataflowAPI调用模板 模板在参数stagingLocation、tempLocation和我的自定义参数下工作正常,但是当我在API调用中传递numWorkers、maxNumWorkers、workerMachineType、autoscalingAlgorithm的

我正在使用Google云数据流Java SDK 2.1.0

我可以使用--templateLocation管道选项以及我希望在运行时传递的一些其他ValueProvider管道选项创建模板。我正在云函数中使用GoogleDataflowAPI调用模板

模板在参数stagingLocation、tempLocation和我的自定义参数下工作正常,但是当我在API调用中传递numWorkers、maxNumWorkers、workerMachineType、autoscalingAlgorithm的参数时,我得到了这些参数的“查找意外参数”错误。我阅读了另一篇文章,并使用下面的日志语句中提到的这些DataflowPipelineOptions创建了另一个模板:

LOG.info("Number of workers => " + String.valueOf(options.getNumWorkers()));
新模板确实接受了上面提到的默认管道选项。因此,模板似乎没有包含管道代码中未提及的管道选项-这对于自定义选项来说是可以的,但我认为所有默认管道选项都应该始终存在于任何模板中


是否有人可以确认这是预期的行为,或者如果我做得不对,请告诉我?

为了纠正您的错误,无法以您尝试的方式指定环境参数


“maxWorkers”、“zone”、“tempLocation”、“machineType”、“network”和“subnetwork”可以指定为环境的一部分。有关在请求中指定环境参数的方法,请参阅云中数据流文档。

要更正您的错误,无法以您尝试的方式指定环境参数


“maxWorkers”、“zone”、“tempLocation”、“machineType”、“network”和“subnetwork”可以指定为环境的一部分。有关在请求中指定它们的方法,请参阅云中数据流文档。

关于自动缩放算法和初始工作人数,以及磁盘大小,我们可以使用com.google.api.services.Dataflow.model.RuntimeEnvironment设置环境参数来运行模板。虽然它没有为数据流模板设置所有参数。例如,它有maxWorkers属性,但没有numWorkers属性。但是我们可以使用set方法来设置numworker。RuntimeEnvironment runEnv=新的RuntimeEnvironment();runEnv.setMaxWorkers(3);runEnv.set(“numWorkers”,2);关于自动缩放算法和初始工作人数,以及磁盘大小,我们可以使用com.google.api.services.dataflow.model.RuntimeEnvironment设置运行模板的环境参数。虽然它没有为数据流模板设置所有参数。例如,它有maxWorkers属性,但没有numWorkers属性。但是我们可以使用set方法来设置numworker。RuntimeEnvironment runEnv=新的RuntimeEnvironment();runEnv.setMaxWorkers(3);runEnv.set(“numWorkers”,2);