从本地系统部署Google Cloud Functions失败,并出现以下错误:
ax
我已经使用控制台UI来检查在失败的部署中上载的软件包的内容,并且存在文件。该软件包是使用ERROR: (gcloud.functions.deploy) OperationError: code=3, message=Function load error: File main.py that is expected to define function doesn't exist
CLI创建的:
gcloud
就上下文而言,同一项目已由多个人成功部署了多次,但对于在指定日期后签出的所有新项目都开始失败。
答案 0 :(得分:1)
在我们的例子中,这是因为凭据无效,即传递给ServiceAccountCredentials.from_json_keyfile_name
的JSON文件丢失了。令人困惑的是,该错误并未提及有关安全性,凭据或丢失的文件的任何信息。
秘密不在版本控制中,共享保管库具有陈旧的文件,该文件与python脚本中提供的路径不匹配。凭据更正后,此问题已修复。
我们通过成功部署“哑”功能(返回字符串),然后逐步添加回功能直到其失效,设法将问题隔离到经过身份验证的呼叫中。
答案 1 :(得分:0)
我在Node.js的应用程序中解决了这个问题,基本上我发现它调用了项目的.gcloudignore
文件.gitignore
,因此,如果您的函数位于一个跳过的文件夹中,它只会找不到,则只需删除行#! Include : .gitignore
文件.gcloudignore