我可以在项目之间运行dataflowjob吗?

问题描述 投票:0回答:1

我想将数据从项目A中的Cloud Spanner导出为项目B中的GCS作为AVRO。如果我为项目B中的服务帐户提供了对项目A中的spanner.read访问权限,我是否可以使用模板Cloud_Spanner_to_GCS_Avro从项目B运行数据流作业,并写入项目B中的GCS?

我已经在控制台和以下命令中尝试过:

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

我不确定如何指定Spanner实例的projectId。使用项目B中的此命令,它将查找项目B:s Spanner,并且找不到实例和数据库。

我尝试设置:instanceId = projects / id_of_project_A / instances /name_of_instance,但它不是有效的输入

google-cloud-platform google-cloud-storage google-cloud-dataflow google-cloud-spanner
1个回答
1
投票

是的,您必须在dataflow service account上授予正确的授权

我建议您使用“用户管理的服务帐户”。默认帐户是Compute Engine默认服务帐户,该帐户在主机项目上具有editor角色,授权过多....

© www.soinside.com 2019 - 2024. All rights reserved.