如何使环境变量作为 python sdk 中的环境变量到达 Dataflow worker
How to make the environment variables reach Dataflow workers as environment variables in python sdk
我用 python sdk 编写自定义接收器。我尝试将数据存储到 AWS S3。要连接 S3,一些凭据、密钥是必需的,但出于安全原因,最好在代码中设置。我想让环境变量作为环境变量到达数据流工作者。
我该怎么做?
一般来说,为了向工作人员传输您不想硬编码的信息,您应该使用 PipelineOptions
- 请参阅 Creating Custom Options。然后,在构建管道时,只需从您的 PipelineOptions
对象中提取参数并将它们放入您的转换中(例如放入您的 DoFn
或接收器)。
但是,对于像凭据这样敏感的东西,在命令行参数中传递敏感信息可能不是一个好主意。我会推荐一种更安全的方法:将凭据放入 GCS 上的文件中,并将文件的 name 作为 PipelineOption
传递。然后在需要凭据时使用 GcsIO.
以编程方式从 GCS 读取文件
我用 python sdk 编写自定义接收器。我尝试将数据存储到 AWS S3。要连接 S3,一些凭据、密钥是必需的,但出于安全原因,最好在代码中设置。我想让环境变量作为环境变量到达数据流工作者。 我该怎么做?
一般来说,为了向工作人员传输您不想硬编码的信息,您应该使用 PipelineOptions
- 请参阅 Creating Custom Options。然后,在构建管道时,只需从您的 PipelineOptions
对象中提取参数并将它们放入您的转换中(例如放入您的 DoFn
或接收器)。
但是,对于像凭据这样敏感的东西,在命令行参数中传递敏感信息可能不是一个好主意。我会推荐一种更安全的方法:将凭据放入 GCS 上的文件中,并将文件的 name 作为 PipelineOption
传递。然后在需要凭据时使用 GcsIO.