Google Firebase函数部署失败-我该怎么办



错误消息:

Error: There was an error deploying functions

fireblese-debug.log包含以下内容:

[debug] [2021-11-16T12:12:16.165Z] Error: Failed to upsert schedule function lab2 in region europe-west3

功能代码:

exports.lab2 =
functions
.region('europe-west3')
.pubsub.schedule('*/10 * * * *')
.onRun(lab);

我能做什么?谷歌支持导致stackoverflow,所以我把它发布在这里。有没有更好的方法来处理谷歌云的问题?

当您在Firebase函数中使用计划函数时,会创建一个应用程序引擎实例,该实例是Cloud Scheduler工作所必需的。你可以在这里阅读。在设置过程中,系统会提示您选择项目的默认谷歌云平台(GCP(资源位置(如果在设置另一项服务时尚未选择(。

您收到该错误是因为您指定的默认GCP资源位置与您计划的云功能的区域之间存在差异。如果您在Firebase中单击项目概述旁边的齿轮,您可以看到您的资源所在的位置。将默认的GCP资源位置设置为与调度器功能区域相同,解决了该问题。

我们的调度函数部署失败的原因是因为cron作业公式。由于某种原因,firebase不能理解0 0 3 1/1 * ? *,但可以理解every 5 minutes

很遗憾firebase没有提供更好的错误消息。Error: Failed to upsert schedule function xxx in region xxx太通用了。

我在部署调度函数时遇到了同样的问题,我通过以下几个步骤解决了这个问题:

  • 步骤1:重命名计划函数(例如:newScheduleABC(,然后只部署它:

$Firebase仅部署函数:newScheduleABC

注意:正如@Nicholas所提到的,Unix Cron格式GCP接受的只有5个字段:schedule(***(

  • 步骤2:通过转到Firebase控制台删除旧的(计划(功能:https://console.firebase.google.com/.../functions,您将在那里看到您的所有功能。单击函数末尾的垂直省略号,然后单击"删除">

就是这样。从现在开始应该没有问题。

您可以从管理功能中阅读更多信息

相关内容

  • 没有找到相关文章