首页 > 解决方案 > 如何在 Cloud Dataflow 中验证基于服务帐户的身份验证

问题描述

如何使用 Google 服务帐户验证 Dataflow Java 代码?

目前,我们正在传递用户凭据来选择/验证用于执行 Dataflow 运行器的 Google 项目。相反,我们需要使用服务帐户验证数据流代码。

如果有人共享 Java 代码以使用服务帐户验证数据流作业,那就太好了。

标签: google-cloud-dataflow

解决方案


要使用服务帐户与 GCP 通信,您只需下载包含服务帐户密钥的 JSON 文件并将系统的环境变量更改为:

对于 Linux/MacOS:

export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json" 

对于 Windows:

$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\[FILE_NAME].json"

您可以从GCP 控制台获取此密钥,选择您需要的服务帐户,选择 JSON 类型,然后单击创建。您现在在您的机器上拥有包含您的密钥的 JSON 文件。

然后,您使用以下命令运行作业:

--serviceAccount=service-account@my-project.iam.gserviceaccount.com

此标志与服务帐户邮件一起运行。您可以从 Google 控制台的 IAM 面板获取服务帐户邮件。另外,请记住为服务帐户提供适当的角色和权限

要更改作业的名称,您可以使用--jobName=[your_job_name]来指定一个特定的名称。如果您正在运行 使用 Java 和 Apache Maven文档的快速入门中的示例,那么您的作业名称将使用您的用户名的一部分作为默认值。


推荐阅读