数据流工作者安装没有 NAT 的 python 库

Posted

技术标签:

【中文标题】数据流工作者安装没有 NAT 的 python 库【英文标题】:Dataflow worker install python library without NAT 【发布时间】:2021-12-17 17:18:29 【问题描述】:

在我的 GCP 项目中,Cloud NAT 被禁用,因此数据流工作人员将无法与互联网外部通信。 因为google-cloud-storage 不是数据流工作者的默认库。

参考:https://cloud.google.com/dataflow/docs/concepts/sdk-worker-dependencies#beam-2x-python

想知道是否有在运行时将其安装在工作节点上的技巧。

我的setup.py 文件如下所示:

import setuptools
setuptools.setup(
    name='x_pipelines',
    version='1.0.0',
    install_requires=["google-cloud-storage"],
    packages=setuptools.find_packages(),
)

【问题讨论】:

【参考方案1】:

你试过using Custom Containers吗?

您将创建一个带有 Dockerfile 的容器,如下所示:

FROM apache/beam_python3.8_sdk:2.34.0

RUN pip install $DEPENDENCIES

然后您可以将此容器发布到 GCR,稍后您可以告诉 Dataflow 使用:--sdk_container_image=$IMAGE_URI

【讨论】:

以上是关于数据流工作者安装没有 NAT 的 python 库的主要内容,如果未能解决你的问题,请参考以下文章

在没有安装库的情况下运行 python 脚本

Anaconda本地安装python库

TCP打孔(NAT穿越)库还是啥?

Python--BeautifulSoup库安装

解决centos6编译安装软件的方法

python中如何安装图形库