如何在欧洲使用Cloud Dataflow Regional Endpoint?

时间:2017-09-20 15:35:56

标签: python-2.7 google-cloud-dataflow

是否可以将Google Cloud Platform Dataflow作业的区域更改为欧洲? 我已将管道区域设置为europe-west1-d,但我无法更改为作业本身的区域。 我试图更改管道选项中的区域,但这会导致错误,只有默认区域正在工作。

pipeline_options.view_as(GoogleCloudOptions).region = 'europe-west1'

"error": {
    "code": 400,
    "message": "(ff50231266257fc7): The workflow could not be created, since it was sent to an invalid or unreleased region. Please resubmit with a valid region.",
    "status": "INVALID_ARGUMENT"
  }
使用命令europe-west1

时会列出

gcloud compute regions list

2 个答案:

答案 0 :(得分:1)

是的,Cloud Dataflow Regional Endpoints允许您将Dataflow作业的区域更改为欧洲。

区域端点是全新的云数据流功能。在发布区域端点之前,可以指定实验region选项但未使用。出现此错误消息是因为在发布功能之前指定了region选项。

您的案例(欧洲):

  • 您可以提交仅包含Regional Endpoint specified的作业(例如europe-west1 = europe-west1),该作业将在region中进行管理和运行区域;当您省略区域时,Cloud Dataflow将自动为此区域中的Dataflow工作人员选择区域。

  • 您还可以提交同时指定了区域端点和区域的作业(例如europe-west1 = zoneeurope-west1d = europe-west1),以及该作业将在europe-west1d区域进行管理,数据流工作人员在input区域内运行。

答案 1 :(得分:1)

使用datafkow sdk 2.1.0,你可以做到这一点。

您可以使用

pipelineOptions.setWorkerMachineType(pipelineConfigProperties.get("worker.machine.type"));
    pipelineOptions.setNetwork("dataflow.network");
    pipelineOptions.setUsePublicIps(false);
    pipelineOptions.setZone("dataflow.zone");
    pipelineOptions.setSubnetwork("dataflow.subnetwork");
    pipelineOptions.setRegion("dataflow.region");

这已经过测试,您肯定会在2.1.0

中执行此操作