服务帐户执行批处理数据流作业
Posted
技术标签:
【中文标题】服务帐户执行批处理数据流作业【英文标题】:service account execution batch dataflow job 【发布时间】:2020-05-18 05:57:38 【问题描述】:我需要使用服务帐户执行数据流作业,我正在关注同一平台本身提供的一个非常简单且基本的示例字数。
奇怪的是我得到的错误:
据此,GCP 需要具有 Dataflow 工作人员权限的服务帐户才能执行我的工作。即使我已经设置了所需的权限,当错误继续出现时,堰的部分就出现了:
有人可以解释这种奇怪的行为吗?非常感谢
【问题讨论】:
【参考方案1】:要运行 Dataflow 作业,项目必须启用结算功能和以下 Google Cloud Platform API:
谷歌云数据流 API 计算引擎 API(谷歌计算引擎) 谷歌云记录 API 谷歌云存储 谷歌云存储 JSON API BigQuery API 谷歌云发布/订阅 谷歌云数据存储 API您还应该在项目中为您在 Dataflow 作业中使用的任何一种 API 提供足够的配额。
我建议您创建一个之前未使用过其名称的新服务帐户,然后将roles/dataflow.worker
授予此新服务帐户。请记住,Cloud IAM 传播需要不到 60 秒,最多 7 分钟,因此请在 IAM 更改和 Dataflow 作业创建之间留出几分钟时间。
另一种可能的解决方法是删除 Dataflow 工作人员权限并重新添加。删除帐户后,权限仍然存在,指向其旧 ID。在明确删除角色之前,不得刷新此 ID。
我鼓励您访问Dataflow IAM 角色,了解角色描述和权限文档。
【讨论】:
以上是关于服务帐户执行批处理数据流作业的主要内容,如果未能解决你的问题,请参考以下文章