小编Col*_*ost的帖子

如何在 Dataflow Worker 上安装私有存储库?

我们在 Dataflow 作业部署期间遇到了问题。

错误

我们正在使用 CustomCommands 在 worker 上安装私有 repo,但现在worker-startup我们的作业日志中出现错误:

Running command: ['pip', 'install', 'git+ssh://git@github.com/my_private_repo.git@v1.0.0']

Command output: b'Traceback (most recent call last):
File "/usr/local/bin/pip", line 6, in <module>
from pip._internal import main\nModuleNotFoundError: No module named \'pip\'\n' 
Run Code Online (Sandbox Code Playgroud)

这段代码是有效的,但自从我们上次在周五部署该服务以来,它就没有了。

一些上下文

  1. 我们使用带有 cron 作业的 GAE 服务来部署数据流作业,使用 python sdk
  2. 在我们的工作中,我们使用存储在私有存储库中的代码
  3. 为了允许工作人员提取私有存储库,我们使用了setup.py在工作人员启动期间运行的自定义命令。(来自官方仓库的代码示例在这里
  4. 这些命令从 GCS 检索编码的 ssh 密钥,使用 KMS 对其进行解码,获取 ssh 配置文件以指定密钥的路径和允许的主机,然后执行pip install git+ssh://git@github.com/my_private_repo.git@v1.0.0(请参阅下面的命令)

Running command: ['pip', 'install', 'git+ssh://git@github.com/my_private_repo.git@v1.0.0']

Command output: b'Traceback (most recent call last):
File "/usr/local/bin/pip", …
Run Code Online (Sandbox Code Playgroud)

python google-cloud-dataflow apache-beam

5
推荐指数
1
解决办法
854
查看次数