我在Firestore文档上使用Firebase Functions触发器。如果我定义了一个如下的函数:
exports.myDocCreate = functions.firestore.document('docs/{docId}').onCreate(async (snap, context) => {
///... code here
});
并且由于内部代码之外的原因(如可伸缩性)而失败,我是否能够在日志中的某个地方知道context
是什么?
在函数代码内部,我处理错误并记录不知道在哪里处理的细节,但当它在我的控制之外失败时,我就迷失了,不知道上下文是什么,也不知道我的代码、数据或工作流的哪些组件受到了影响:(
1条答案
按热度按时间q8l4jmvw1#
当Firebase函数触发失败时,Firebase会在Firebase控制台中记录错误消息和堆栈跟踪。您可以通过单击3个垂直点按钮并选择查看日志,在Firebase函数控制台选项卡中找到这些日志。
在日志中,您将看到错误的详细信息,包括导致错误的触发器的上下文。这将包括触发函数的文档的ID,以及传递给函数的任何其他相关数据。
下面是它如何记录
context.eventId
和context.resource
的一个示例:通过查看错误消息和堆栈跟踪,可以确定错误的根本原因并采取措施解决该问题。如果错误与可伸缩性有关,则可能需要考虑优化函数代码或升级函数内存以支持更高的通信量。
您可以使用firebase emulators测试这些场景,您可以在firebase模拟器套件中查看日志。模拟器是一种本地运行的测试环境,因此您的工作流不会受到影响。