Cloud Dataflow 作业从一个 BigQuery 项目读取并写入另一个 BigQuery 项目
Cloud Dataflow job reading from one Bigquery project and writing to another BigQuery project
我正在 GCP 上实施 Cloud Dataflow 作业,需要处理 2 个 GCP 项目。
输入和输出都是 Bigquery 分区表。
我现在遇到的问题是必须从项目A中读取数据写入到项目B中。
我还没有看到任何与跨项目服务帐户相关的内容,而且我也不能为 Dataflow 提供两个不同的凭据密钥,这有点烦人?
我不知道其他人是否经历过这种架构或者你是如何处理它的。
我认为您可以通过以下步骤完成此操作:
- 在项目中创建专用服务帐户运行 Dataflow 作业。
- 授予服务帐户 Dataflow Worker 和 BigQuery Job User 角色。根据 Dataflow 作业的全部资源需求,服务帐户可能需要其他角色。
- 在项目 A 中,向服务帐户授予对整个项目或特定数据集的 BigQuery 数据查看者 角色。
- 在项目 B 中,向服务帐户授予对整个项目或特定数据集的 BigQuery 数据编辑器 角色。
- 启动 Dataflow 作业时,覆盖提供新服务帐户的 service account 管道选项。
很简单。您需要从两个项目中向您的服务帐户提供所需的 permission/access。
所以您只需要在两个项目
中都需要 access/permission 的服务帐户
希望对您有所帮助。
我正在 GCP 上实施 Cloud Dataflow 作业,需要处理 2 个 GCP 项目。 输入和输出都是 Bigquery 分区表。 我现在遇到的问题是必须从项目A中读取数据写入到项目B中。
我还没有看到任何与跨项目服务帐户相关的内容,而且我也不能为 Dataflow 提供两个不同的凭据密钥,这有点烦人? 我不知道其他人是否经历过这种架构或者你是如何处理它的。
我认为您可以通过以下步骤完成此操作:
- 在项目中创建专用服务帐户运行 Dataflow 作业。
- 授予服务帐户 Dataflow Worker 和 BigQuery Job User 角色。根据 Dataflow 作业的全部资源需求,服务帐户可能需要其他角色。
- 在项目 A 中,向服务帐户授予对整个项目或特定数据集的 BigQuery 数据查看者 角色。
- 在项目 B 中,向服务帐户授予对整个项目或特定数据集的 BigQuery 数据编辑器 角色。
- 启动 Dataflow 作业时,覆盖提供新服务帐户的 service account 管道选项。
很简单。您需要从两个项目中向您的服务帐户提供所需的 permission/access。
所以您只需要在两个项目
中都需要 access/permission 的服务帐户希望对您有所帮助。