google-cloud-dataflow - 如何在 Cloud Dataflow 中验证基于服务帐户的身份验证
问题描述
如何使用 Google 服务帐户验证 Dataflow Java 代码?
目前,我们正在传递用户凭据来选择/验证用于执行 Dataflow 运行器的 Google 项目。相反,我们需要使用服务帐户验证数据流代码。
如果有人共享 Java 代码以使用服务帐户验证数据流作业,那就太好了。
解决方案
要使用服务帐户与 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文档的快速入门中的示例,那么您的作业名称将使用您的用户名的一部分作为默认值。
推荐阅读
- android - fit 无法获得每日步数
- c# - Xamarin.Forms 如何禁用列表视图上的悬停突出显示效果
- linux - 如何在 Heroku 上为我的应用安装 libstdc++6?
- javascript - NPM 安装给出错误致命:引用不是树
- hyperledger-fabric - 获取配置文件的 pb 格式时出错
- swift - 我可以有一个带有可拖动分隔符和可调整大小视图的 NSStackView 吗?
- html - 我怎样才能改变 div 所以当我按下它时,文本会改变但它的大小不会?
- python - Pandas/Numpy 中的迭代公式
- java - 如何通过比较同一行上的三个变量来返回布尔值?
- angular - Hostlistener 滚动事件未触发