Могу ли я запустить dataflowjob между проектами? - PullRequest
0 голосов
/ 27 апреля 2020

Я хочу экспортировать данные из Cloud Spanner в проекте A в GCS в проекте B как AVRO. Если моей учетной записи службы в проекте B предоставлен доступ spanner.read в проекте A, могу ли я запустить задание потока данных из проекта B с шаблоном: Cloud_Spanner_to_GCS_Avro и записать в GCS в проекте B?

Я пробовал и в консоли, и с помощью следующей команды:

gcloud dataflow jobs run my_job_name 
--gcs-location='gs://dataflow-emplates/latest/Cloud_Spanner_to_GCS_Avro' 
--region=my_region 
--parameters='instanceId=name_of_instance,databaseId=databaseid,outputDir=my_bucket_url 
--service-account-email=my_serviceaccount_email

Я не уверен, как указать projectId экземпляра Spanner. С помощью этой команды из проекта B он смотрит в проект B: s Spanner и не может найти экземпляр и базу данных.

Я попытался установить: instanceId = projects / id_of_project_A / instances / name_of_instance, но это недопустимый ввод

Ответы [ 2 ]

1 голос
/ 27 апреля 2020

Да, вы можете, вы должны предоставить правильную авторизацию для учетной записи службы потока данных

Я рекомендую вам использовать «управляемую пользователем учетную запись службы». По умолчанию используется учетная запись службы Compute Engine по умолчанию с ролями editor в хост-проекте, слишком много полномочий ....

0 голосов
/ 29 апреля 2020

Таким образом, ответ, по-видимому, заключается в том, что для некоторых шаблонов или если вы пишете пользовательский, но не шаблон, который я хочу использовать, возможен пакетный экспорт из Spanner в файлы GCS Avro. И это может быть добавлено в будущем обновлении шаблона.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...