【发布时间】:2018-04-12 20:05:12
【问题描述】:
我正在尝试部署一个云功能,每当在我的 Firestore 中创建新文档时,它就会更新 Algolia 搜索索引。一切似乎开始得很好,但在最后,它出错了。我已经阅读了文档,感觉我的语法是正确的,所以我现在不确定该怎么做。 Cloud Functions 日志不指向任何内容,只是回显我在下面收到的错误
错误信息:
=== Deploying to 'test-ffdbb'...
i deploying functions
i functions: ensuring necessary APIs are enabled...
i runtimeconfig: ensuring necessary APIs are enabled...
+ runtimeconfig: all necessary APIs are enabled
+ functions: all necessary APIs are enabled
i functions: preparing functions directory for uploading...
i functions: packaged functions (1.25 KB) for uploading
+ functions: functions folder uploaded successfully
i functions: updating function onProductCreated...
! functions[onProductCreated]: Deployment error.
Failed to configure trigger providers/cloud.firestore/eventTypes/document.create@firestore.googleapis.com (onProductCreated)
我的代码:
const functions = require('firebase-functions');
const algoliasearch = require('algoliasearch');
// App ID and API Key are stored in functions config variables
const ALGOLIA_ID = functions.config().algolia.app_id;
const ALGOLIA_ADMIN_KEY = functions.config().algolia.api_key;
const ALGOLIA_INDEX_NAME = "Firestore";
const client = algoliasearch(ALGOLIA_ID, ALGOLIA_ADMIN_KEY);
// Update the search index every time a blog post is written.
exports.onProductCreated = functions.firestore
.document("Product Catalog/{id}")
.onCreate(event => {
const product = event.data.data();
product.objectID = event.params.postId;
const index = client.initIndex(ALGOLIA_INDEX_NAME);
return index.saveObject(product);
});
package.json:
{
"name": "functions",
"description": "Cloud Functions for Firebase",
"scripts": {
"serve": "firebase serve --only functions",
"shell": "firebase experimental:functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log"
},
"dependencies": {
"@google-cloud/firestore": "^0.8.2",
"algoliasearch": "^3.24.5",
"firebase-admin": "~5.4.2",
"firebase-functions": "^0.7.1"
},
"private": true
}
【问题讨论】:
标签: firebase google-cloud-functions google-cloud-firestore