如何使环境变量作为python SDK中的环境变量到达Dataflow工作者

Tad*_*tsu 6 google-cloud-platform google-cloud-dataflow apache-beam

我用python sdk编写自定义接收器。我尝试将数据存储到AWS S3。要连接S3,需要一些凭据,秘密密钥,但是出于安全原因,在代码中进行设置不是很好。我想使环境变量作为环境变量到达Dataflow工作人员。我该怎么做?

jkf*_*kff 5

通常,要将信息传输给您不想进行硬编码的工作人员,您应该使用PipelineOptions- 请参阅创建自定义选项。然后,在构建管道时,只需从您的PipelineOptions对象中提取参数并将它们放入您的变换中(例如放入您的DoFn或接收器中)。

然而,对于像凭证这样敏感的东西,在命令行参数中传递敏感信息可能不是一个好主意。我会建议一个更安全的方法:把证书插入GCS文件,并通过名称的文件作为的PipelineOption。然后在需要凭据时使用GcsIO 以编程方式从 GCS 读取文件。