9

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

4

1 回答 1

5

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

但是,对于像凭证这样敏感的东西,在命令行参数中传递敏感信息可能不是一个好主意。我会推荐一种更安全的方法:将凭证放入 GCS 上的文件中,并将文件作为PipelineOption. 然后在需要凭证时使用GcsIO以编程方式从 GCS 读取文件。

于 2016-10-28T06:05:42.480 回答