我正在构建一个 Firebase 项目,每当在特定 Firestore 集合中创建文档时,我都需要运行云函数。我将 Node.js 与 Firebase Admin SDK 结合使用,并设置了 Firebase 函数。其他一切都工作正常,但我无法在特定 Firestore 路径创建文档时触发该功能
这是我的代码:
const functions = require("firebase-functions");
const admin = require("firebase-admin");
const serviceAccount = require("./serviceAccount.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount)
});
exports.testFunction = functions.firestore
.onDocumentWritten("Test/{docId}", (change, context) => {
/* ... */
console.log('Written to Test');
});
当我向 Test 集合添加新文档时,testFunction 没有按预期触发。我打算让这个函数在每次在此路径中创建文档时执行并记录“Written to Test”。
任何人都可以帮助我理解为什么这个触发器没有触发并建议我如何解决这个问题吗?
console.log
的 Firebase 文档:
从函数进行日志记录的推荐解决方案是使用适合您平台的记录器 SDK。使用 Node.js,您可以使用标准 JavaScript 日志记录调用,例如
和console.log
,但是 您首先需要一个特殊的模块来修补标准方法才能正常工作:console.error
require("firebase-functions/logger/compat");
一旦您需要记录器兼容性模块,您就可以在代码中正常使用
方法:console.log()
exports.helloError = functions.https.onRequest((request, response) => { console.log('I am a log entry!'); response.send('Hello World...'); });