2017-09-20 3 views
2

Ist es möglich, die Region eines Google Cloud Platform Dataflow-Jobs nach Europa zu ändern? Ich habe die Zone der Pipeline auf europe-west1-d eingestellt, aber ich kann nicht in die Region des Jobs selbst wechseln. Ich habe versucht, die Region in den Pipeline-Optionen zu ändern, aber das führt zu einem Fehler und nur die Standardregion funktioniert.Wie verwende ich den regionalen Endpunkt von Cloud Dataflow in Europa?

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 aufgeführt wird, wenn gcloud compute regions list

+0

Meine beste Vermutung ist, dass, da seine noch in der Beta dieses Thema angesprochen wird, ich bin nicht sicher obwohl. – Anuj

Antwort

1

Ja, um den Befehl, Regional Endpoints Cloud-Datenfluss können Sie den Bereich einer Datenfluß-Job in Europa ändern.

Regionale Endpunkte sind eine brandneue Cloud Dataflow-Funktion. Vor der Veröffentlichung von Regionalen Endpunkten konnte die experimentelle Option region angegeben werden, wurde aber nicht verwendet. Diese Fehlermeldung wurde angezeigt, weil die Option region angegeben wurde, bevor das Feature veröffentlicht wurde.

Beispiele für Ihren Fall (Europa):

  • Sie die Regional Endpoint specified einen Job mit nur einreichen können (z regioneurope-west1 =), und dieser Job wird in der europe-west1 Region verwaltet und ausgeführt werden; Cloud Dataflow wählt automatisch eine Zone für Dataflow-Worker aus dieser Region aus, wenn Sie eine Zone auslassen.

  • Sie können auch einen Job übergeben sowohl mit einem Regional Endpoint und Zone angegeben (z region = europe-west1 und zone = europe-west1d), und dieser Job wird in der europe-west1 Region, mit Datenfluß-Arbeiter in der europe-west1d Zone ausgeführt wird verwaltet werden.

0

Mit dataffkow sdk 2.1.0 können Sie dies tun.

können Sie verwenden

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"); 

Dieses getestet und Sie auf jeden Fall dies in 2.1.0

Verwandte Themen