我们正在通过气流使用apache光束。默认的GCS帐户设置了环境变量-GOOGLE_APPLICATION_CREDENTIALS。我们不想更改环境变量,因为它可能会影响当时正在运行的其他进程。我找不到以编程方式更改Google Cloud Dataflow服务帐户的方法。 我们正在按照以下方式创建管道 p = beam.Pipeline(argv = self.conf)
是否有通过argv或options的选项,在哪里可以提及gcs凭证文件的位置? 搜索了文档,但没有找到太多信息。
答案 0 :(得分:3)
使用基本标志启动作业时,可以指定服务帐户:
--serviceAccount=my-service-account-name@my-project.iam.gserviceaccount.com
该帐户将需要附加Dataflow Worker
角色以及您想要的其他任何内容(GCS / BQ / Etc)。 Details here。您不需要将SA存储在GCS中,也不需要本地密钥即可使用它。