如何使用Firebase云功能pubsub.schedule?

时间:2019-04-19 05:55:04

标签: firebase google-cloud-functions firebase-cli

今天,Firebase的Cloud Functions的新功能正在按计划运行功能。因此,我尝试测试示例代码。

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(今天更新)

解决方案是什么?

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

但这也会导致相同的错误:

  

functions.pubsub.schedule不是函数

有人可以帮助我解决这个问题吗?

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!');
});

3 个答案:

答案 0 :(得分:6)

announcement blog post指出,firebase-functions模块的版本也必须至少为2.3.0。在您的functions文件夹中运行npm install firebase-functions@latest以对其进行更新,然后再次进行构建和部署。

答案 1 :(得分:0)

我有同样的问题。

我必须将firebase-tools更新为版本^6.7.2。 我还更新了firebase-functions,但仅此一项并没有完成。因此,我将更新所有firebase依赖项(firebase-tools / admin / functions)。

答案 2 :(得分:-1)

这是文档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!');
});

您可以将timeZone设置为其他