从控制台部署gcloud功能在zip文件中找不到代码

时间:2019-07-13 19:38:36

标签: python google-cloud-functions

我有一个Python Google Cloud Function,该部署包含3个文件。

root/
|_ main.py
|_ lib.zip
|_ requirements.txt

lib.zip具有一些内部开发的软件包/模块,在内部由另一个团队分发。 requirements.txt具有公共库,例如pandas,numpy等...

main.py通过以下方式从zip文件导入模块:

sys.path.insert(0, 'lib.zip')
from def.xyz import xpto

部署可以在gcloud-cli上正常运行,但是当我尝试在Web控制台中编辑该环境变量和/或添加其他环境变量时,部署失败,并在main.py中出现以下错误:

ModuleNotFoundError: No module named 'def'

显然,从控制台重新部署时,它找不到zip文件,尽管我在“源”选项卡中看到了该文件。

在部署时,变量值对于开发团队来说是未知的,因此无法将其添加到gcloud-cli命令中。而且,管理Web控制台的操作团队将无权访问版本控制存储库,因此他们无法运行gcloud-cli命令。

关于我在做什么错或如何克服这种情况的任何提示?

1 个答案:

答案 0 :(得分:0)

修改评论作为答案,并确认该方法可行

您的运营团队可以使用gcloud functions deploy更新(!)云功能并设置|更新环境变量而无需重新部署。