【问题标题】:how to provide credentials in apache beam python programmatically?如何以编程方式在 apache Beam python 中提供凭据?
【发布时间】:2019-05-06 11:03:31
【问题描述】:

我们正在通过气流使用 apache 光束。默认 GCS 帐户设置有环境变量 - GOOGLE_APPLICATION_CREDENTIALS。我们不想更改环境变量,因为它可能会影响当时正在运行的其他进程。我找不到以编程方式更改 Google Cloud Dataflow 服务帐户的方法。 我们正在通过以下方式创建管道 p = beam.Pipeline(argv=self.conf)

是否有任何通过 argv 或选项的选项,我可以在哪里提及 gcs 凭证文件的位置? 搜索了文档,但没有找到太多信息。

【问题讨论】:

    标签: python google-cloud-platform google-cloud-dataflow airflow apache-beam


    【解决方案1】:

    您可以在使用基本标志启动作业时指定服务帐户: --serviceAccount=my-service-account-name@my-project.iam.gserviceaccount.com

    该帐户需要附加Dataflow Worker 角色以及您想要的任何其他内容(GCS/BQ/Etc)。 Details here。您不需要将 SA 存储在 GCS 中,也不需要在本地使用密钥来使用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-13
      • 2019-10-05
      • 2020-03-07
      • 2014-08-02
      • 1970-01-01
      相关资源
      最近更新 更多