Заданию потока данных Gcloud не удалось записать во временную папку - PullRequest
0 голосов
/ 23 марта 2020

enter image description here Я запускаю задание потока данных, используя gcloud cli. Моя команда выглядит следующим образом:

gcloud dataflow jobs run avrojob4 \
--gcs-location=gs://dataflow-templates/latest/Cloud_Bigtable_to_GCS_Avro \
--region=europe-west1 \
--parameters bigtableProjectId="project-id",bigtableInstanceId="instance-id",bigtableTableId="table-id",outputDirectory="gs://avro-data/avrojob4/",filenamePrefix="avrojob4-"

и:

ERROR: Failed to write a file to temp location 'gs://dataflow-staging-us-central1-473832897378/temp/'. Please make sure that the bucket for this directory exists, and that the project under which the workflow is running has the necessary permissions to write to it.

Может кто-нибудь помочь мне, как передать временное местоположение как указанное c значение через указанную выше команду?

1 Ответ

1 голос
/ 23 марта 2020

Для этой команды нет флага --temp-location: https://cloud.google.com/sdk/gcloud/reference/dataflow/jobs/run

Я подозреваю, что вы пытаетесь решить проблему, создав флаг, но, как вы видели это не работает.

  • Существует ли корзина?
  • Имеет ли учетная запись службы потока данных соответствующие разрешения для записи в нее?

Можете ли вы gsutil ls gs://dataflow-staging-us-central1-473832897378?

если да, то, скорее всего, у службы потока данных нет разрешения на запись в корзину. Пожалуйста, ознакомьтесь с инструкциями в следующей ссылке, чтобы добавить правильные разрешения для учетной записи службы Dataflow (!):

https://cloud.google.com/dataflow/docs/concepts/security-and-permissions#accessing_cloud_storage_buckets_across_google_cloud_platform_projects

...