如何使用Google服务帐户验证Dataflow Java代码?
当前,我们正在传递用户凭证,以选择/验证Google项目以执行DataflowRunner。相反,我们需要使用服务帐户来验证数据流代码。
如果有人共享Java代码来验证带有服务帐户的数据流作业,那就太好了。
答案 0 :(得分:0)
要使用服务帐户与Google Cloud通信,您需要下载包含服务帐户密钥的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 console获取此密钥,选择所需的服务帐户,选择JSON类型,然后单击create。现在,您在计算机上有了包含密钥的JSON文件。
然后使用以下命令运行作业:
--serviceAccount=service-account@my-project.iam.gserviceaccount.com
此标志与服务帐户邮件一起运行。您可以从Google控制台的IAM面板获取服务帐户邮件。另外,请记住为服务帐户分配适当的角色和permissions。
要更改作业的名称,可以使用--jobName=[your_job_name]
来指定特定的名称。如果您正在从
Quickstart Using Java and Apache Maven文档,那么您的工作名称将默认使用您的用户名的一部分。