如何以编程方式在Apache Beam python中提供凭据?

时间:2018-12-04 23:11:11

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

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

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

1 个答案:

答案 0 :(得分:3)

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

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