我正在尝试实现基于 Git 样式存储库中代码的 Google Cloud 函数。我将代码链接到 Google Cloud Platform 的“源存储库”,当我将代码复制并粘贴到 GCP 函数“内联编辑器”时,我的函数运行正常。当我切换到“云源存储库”选项时,我可以看出它正在从该存储库中读取;在此之前,我已经解决了其他错误。但是,在解决了先前/其他问题之后,现在出现此错误:
函数加载错误:预期定义函数的文件main.py不存在
我的文件结构与此类似,main.py
在根目录中:
.
├── package
| ├──script1.py
| └──script2.py
├── package2
├── ...
├── main.py
└── requirements.txt
它从 requirements.txt
读取正常(之前的一些错误来自该读取过程),但为什么它不能从 main.py
读取?我在 GCP 功能中的设置如下所示:
我试图将 main.py 移动到项目中的另一个目录并将“包含源代码的目录”设置到该目录,但这给了我一个错误,提示它找不到该目录。有什么建设性的想法吗?
编辑/附加信息
我正在使用我的存储库中的一个分支,而不是 master
,并且我正在为此功能使用 Google Cloud Pubsub 主题触发器。
最佳答案
如果您尝试使用 GCS 存储桶或文件上传功能上传您的代码 zip,请确保您不压缩包含您的代码的文件夹,而只压缩代码文件。
CodeFolder
├── package
| ├──script1.py
| └──script2.py
├── package2
├── ...
├── main.py
└── requirements.txt
不要从 CodeFolder
创建 Zip 文件。
相反,从 main.py
和 requirement.txt
和 package
创建一个 zip 文件。
关于python - Google Cloud Function - 函数加载错误 : File main. 预期定义函数的 py 不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52432324/