【发布时间】:2018-10-17 07:01:39
【问题描述】:
我已经使用谷歌云数据流服务使用 apache beam python sdk 已经有一段时间了。
我正在为一个新项目设置数据流。
数据流管道
- 从谷歌数据存储中读取数据
- 处理它
- 写入 Google Big-Query。
我在其他运行良好的项目上运行了类似的管道。
今天,当我开始一个数据流作业时,管道启动,从数据存储中读取数据,对其进行处理,当它即将将其写入 bigquery 时,导致
apache_beam.runners.dataflow.dataflow_runner.DataflowRuntimeException:
Dataflow pipeline failed. State: FAILED, Error:
Workflow failed. Causes: S04:read from datastore/GroupByKey/Read+read
from datastore/GroupByKey/GroupByWindow+read from datastore/Values+read
from datastore/Flatten+read from datastore/Read+convert to table
rows+write to bq/NativeWrite failed., BigQuery import job
"dataflow_job_8287310405217525944" failed., BigQuery creation of import
job for table "TableABC" in dataset "DatasetABC" in project "devel-
project-abc" failed., BigQuery execution failed., Error:
Message: Access Denied: Dataset devel-project-abc:DatasetABC: The user
service-account-number-compute@developer.gserviceaccount.com does not
have bigquery.tables.create permission for dataset devel-project-
abc:DatasetABC: HTTP Code: 403
我确保所有必需的 API 都已启用。据我说,服务帐户具有必要的权限。
我的问题是这可能哪里出错了?
更新
根据我对以前项目的记忆(准确地说是 3 个不同的项目),我没有给数据流服务代理任何特定权限。 计算引擎服务代理具有数据流管理员、编辑器、数据流查看器等权限。 因此,在继续授予与 bigquery 相关的服务代理权限之前,我想知道为什么环境的行为与以前的项目不同。
过去几个月是否有任何权限/策略更改/更新导致需要 bigquery 编写器权限?
【问题讨论】:
标签: python google-bigquery google-cloud-dataflow apache-beam