Javascript 将新文档从Firestore导出到GCP bucket的云功能
我正在尝试编写一个云函数,只导出添加到我的“评论”子集合中的新文档。此云函数的触发器是:cloud Firestore。但是,我的云功能部署通过控制台失败。有人能帮我理解我的云功能出了什么问题吗 错误消息:Javascript 将新文档从Firestore导出到GCP bucket的云功能,javascript,google-cloud-platform,google-cloud-firestore,google-cloud-functions,Javascript,Google Cloud Platform,Google Cloud Firestore,Google Cloud Functions,我正在尝试编写一个云函数,只导出添加到我的“评论”子集合中的新文档。此云函数的触发器是:cloud Firestore。但是,我的云功能部署通过控制台失败。有人能帮我理解我的云功能出了什么问题吗 错误消息: Deployment failure: Build failed: /workspace/index.js:26 } ^ SyntaxError: missing ) after argument list at new Script (vm.js:83:7)
Deployment failure:
Build failed: /workspace/index.js:26
}
^
SyntaxError: missing ) after argument list
at new Script (vm.js:83:7)
at checkScriptSyntax (internal/bootstrap/node.js:620:5)
at startup (internal/bootstrap/node.js:280:11)
at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3); Error ID: d984e68f
云功能代码:
const firestore = require('@google-cloud/firestore');
const client = new firestore.v1.FirestoreAdminClient();
const bucket = 'gs://bucket_name'
exports.scheduledFirestoreBackup = (event, context) => {
const databaseName = client.databasePath(
// process.env.GCLOUD_PROJECT,
"fs124",
'(default)'
);
return client
.exportDocuments({
name: databaseName,
outputUriPrefix: bucket,
collectionIds: ['reviews'],
})
.onSnapshot()
.then(snap => {
snap.forEach(doc => {
const response = doc.data();
console.log(doc.data());
return response;
}
});
控制台代码段:
参数列表后的消息,
语法错误:缺失)非常清楚。您缺少then()
的结束方括号}
和括号)
。它应该是这样的:
const firestore = require('@google-cloud/firestore');
const client = new firestore.v1.FirestoreAdminClient();
const bucket = 'gs://bucket_name'
exports.scheduledFirestoreBackup = (event, context) => {
const databaseName = client.databasePath(
// process.env.GCLOUD_PROJECT,
"fs124",
'(default)'
);
return client
.exportDocuments({
name: databaseName,
outputUriPrefix: bucket,
collectionIds: ['reviews'],
})
.onSnapshot()
.then(snap => {
snap.forEach(doc => {
const response = doc.data();
console.log(doc.data());
return response;
});
});
};
您是否可以编辑问题,在尝试部署时会发生什么情况?(例如,您会收到一条错误消息)是的,这是启动(internal/bootstrap/node.js:280:11)时新脚本(vm.js:83:7)的checkScriptSyntax(internal/bootstrap/node.js:620:5)的参数列表之后的错误消息@RafaelalMeda:Deployment failure:Build failed:/workspace/index.js:26}^SyntaxError:missing)在bootstrapNodeJSCore(internal/bootstrap/node.js:623:3);错误ID:D984E68F感谢您纠正我粗心的错误!我重新部署了该函数,但这次它抛出了一个新错误。我认为这与语法错误无关。错误消息:状态:{code:13消息:“未能配置触发器提供程序/cloud.firestore/eventTypes/document。write@firestore.googleapis.com(gcf.asia-east2.test_firestore_trigger)“}错误与函数的触发器有关。尝试通过指定所述的文档路径来更改触发器可能会使其正常工作?由于您的初始问题已解决,我建议您就此问题提出一个新问题,因为它不同。