使用 Cloud Functions for Firebase 从模拟器进行日志记录



我正在尝试调试索引中的云函数.js。它看起来像这样:

exports.minutely_tick =
functions.pubsub.topic('minutely-tick').onPublish((event) => {
console.log('This job runs every minute');
getData("myParameter")
.then((data) => {
return console.log('Data is ', data);
})
.catch((error) => {
return console.log('Error is: ', error);
});
});

我已经启动了云函数模拟器,它成功地准备模拟函数。

..但是当我在云函数模拟器中执行minutely_tick时,如下所示:

firebase > minutely_tick

终端仅响应:

[Function: bound ]

为什么我没有从我的云函数中获取 console.logs,就像我通常在生产环境中运行时那样?

您在模拟器中键入的命令不正确。 您正在做的是有效地告诉模拟器(只是一个节点 REPL(打印标识符minutely_tick的内容,这只是一个函数的名称。 要执行该函数,您必须使用它将接收的参数实际调用它。

根据文档:

对于 PubSub 函数,在缓冲区实例中插入消息有效负载 并添加可选的数据属性,如下所示:

// invokes a function with the JSON message { hello: 'world' } and attributes { foo: 'bar' }
myPubsubFunction({data: new Buffer('{"hello":"world"}'), attributes: {foo: 'bar'}})

在您的情况下,您将使用名为minutely_tick的函数,并向其传递您要测试的有效负载。

最新更新