Dataflow 服务帐户无法访问网络默认值
Posted
技术标签:
【中文标题】Dataflow 服务帐户无法访问网络默认值【英文标题】:Network default is not accessible to Dataflow Service account 【发布时间】:2018-12-24 01:04:24 【问题描述】:当我收到此错误时,在没有本地 VPC 网络的项目中启动数据流作业 (2018-07-16_04_25_02-6605099454046602382
) 时遇到问题
Workflow failed. Causes: Network default is not accessible to Dataflow
Service account
有一个共享 VPC 连接到项目,其网络名为 default
,在 us-central1
中具有子网 default
- 但是用于运行数据流作业的服务帐户无法访问它。我已经给dataflow-service-producer
服务帐号Compute Network User
,没有任何明显的效果。关于如何处理的任何想法?
【问题讨论】:
【参考方案1】:Cloud Dataflow中子网的使用需要在运行流水线时指定子网参数;但是,如果子网位于共享 VPC 网络中,则需要使用基于以下格式的完整 URL,正如您所提到的。
https://www.googleapis.com/compute/v1/projects/<HOST_PROJECT>/regions/<REGION>/subnetworks/<SUBNETWORK>
此外,在这种情况下,建议验证您是否将项目的 Dataflow 服务帐户添加到共享 VPC 的项目 IAM 表中,并为其授予 “计算网络用户” 角色权限,以确保该服务具有所需的访问范围。
最后,似乎Subnetwork parameter Google 的官方文档已经提供了有关此问题的详细信息。
【讨论】:
【参考方案2】:将 --subnetwork
option 与以下(未记录的)完全限定子网格式一起使用,可以运行 Dataflow 作业。其中PROJECT
是托管共享 VPC 的项目的名称,REGION
与您运行数据流作业的区域匹配。
--subnetwork=https://www.googleapis.com/compute/alpha/projects/PROJECT/regions/REGION/subnetworks/SUBNETWORK
【讨论】:
以上是关于Dataflow 服务帐户无法访问网络默认值的主要内容,如果未能解决你的问题,请参考以下文章
在 Dataflow 中创建作业时出错(当前用户不能充当服务帐户)