如何使用 firebase 云函数 pubsub.schedule?

how to use firebase cloud function pubsub.schedule?

今天,Cloud Functions for Firebase 有一项新功能,即 运行 按计划运行。所以我尝试测试示例代码。

index.js 文件

exports.scheduledFunction = functions.pubsub.schedule(‘every 5 minutes’).onRun((context) => {
  console.log(‘This will be run every 5 minutes!’);
});

但是当我尝试部署它时,我收到以下错误消息:


Error: Error occurred while parsing your function triggers.

TypeError: functions.pubsub.schedule is not a function

我的 firebase 工具版本是 6.7(今天更新)

解决方法是什么?

我检查了这里的示例 git 代码 (https://github.com/firebase/functions-samples/blob/master/delete-unused-accounts-cron/functions/index.js)

但它也会导致同样的错误:

functions.pubsub.schedule is not a function

谁能帮我解决这个问题?

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();

exports.scheduledFunction = functions.pubsub.schedule('every 5 minutes').onRun((context) => {
   console.log('This will be run every 5 minutes!');
});

announcement blog post 指出 firebase-functions 模块的版本也需要最低为 2.3.0。 运行 npm install firebase-functions@latest 在您的函数文件夹中更新它,然后再次构建和部署。

我遇到了同样的问题。

我必须将 firebase-tools 更新到 ^6.7.2 版本。 我还更新了 firebase-functions 但仅此一项并没有完成这项工作。所以我会更新所有 firebase 依赖项 (firebase-tools/admin/functions)。

这是文档https://firebase.google.com/docs/functions/schedule-functions

export const scheduledFunction = functions.pubsub.schedule('every 5 minutes')
.timeZone('Asia/Jakarta')
.onRun((context) => {
    console.log('This will be run every 5 minutes!');
});

并且您可以将时区设置为额外的