javascript - Firebase pubsub 函数计划无效的计划或时区

标签 javascript firebase google-cloud-functions

当我尝试部署新创建的 Firebase PubSub 函数时,出现错误 Error: Failed to create scheduler job projects/workouts-uat/locations/europe-west1/jobs/firebase-schedule-dailyTasks-eur3 : HTTP 错误: 400,时间表或时区无效。

我的函数声明如下:

exports.dailyTasks = functions
  .region('europe-west2')
  .pubsub
  .schedule('every 24 hours 00:00')
  .timeZone('Africa/Johannesburg')
  .onRun(...);

根据我的研究,我发现使用的区域应该与项目设置中找到的区域相同,在我的例子中是 eur3 (europe-west)。我所有现有的 onCall 函数都使用 europe-west2 这就是为什么我首先尝试使用它,但在找到我的项目设置区域后我更新为 .region( 'eur3').region('europe-west'),但错误仍然存​​在。那么如何成功部署这个功能呢?

我在谷歌搜索错误时遇到的另一个提示是,必须创建“Google App Engine (GAE) 应用程序”才能使 pubsub 函数正常工作,但我假设这会在函数部署时自动发生,对吧?否则如何创造它?我对 GCP 的经验为零。

最佳答案

我终于明白了。它与 .timeZone() 无关,正如我最初认为的那样 - 这是 .schedule() 的错误。是的,我刚刚看到错误消息确实包括可能是“时间表或时区”的可能性,但出于某种原因,我认为它指的是整个功能而不是.schedule() 调用。

无论如何,一旦我将每 24 小时 00:00 更新为每天 00:00,它突然部署得很好。为清楚起见,这是我的工作函数签名现在的样子:

exports.dailyTasks = functions
.region('europe-west2')
.pubsub
.schedule('every day 00:00')
.timeZone('Africa/Johannesburg')

事实证明,.region() 也与它无关,europe-west2 工作得很好。

我要感谢 this 的作者文章,因为他链接了一个每天午夜也调用 pubsub 函数的示例项目,如果没有这篇文章,我永远找不到答案。

关于javascript - Firebase pubsub 函数计划无效的计划或时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67079859/

相关文章:

javascript - Dojo 构建系统 - 使用异步插件和 google map api

javascript - Intellij 插件 : AirBnB ESLint w/React

javascript - 解决Jslint警告

javascript - 是否可以创建一个 HTML 链接或按钮来关闭在移动 Safari 中运行的全屏应用程序?

javascript - 使用 Angularfire 保存部分数据

javascript - $(window).load() block 中的 jQuery 事件在 firebase 上托管后不起作用

javascript - 是否可以从多个数据库请求中获取结果并将它们合并在一起?

node.js - 读取和写入 Firestore 的 Firebase 函数会抛出 ReferenceError : query is not defined at cors and Unhandled rejection

firebase - 了解Firebase和谷歌云功能的用途

python - 如何将 flask-sqlalchemy 与 Google Cloud Functions 一起使用?