繁体   English   中英

如果用户创建新文档,如何使用云功能将Firestore数据索引到Algolia中? [重复]

[英]How to index Firestore data into Algolia using cloud functions if a user creates a new document? [duplicate]

要求的行为:
我想创建一个云函数,每次用户在Firestore中创建新文档时,该函数都会向Algolia索引添加新条目。

当前状态
如果用户创建新文档,则将成功触发云功能。 但是,该函数不会为Algolia索引创建新条目。

问题
相反,它引发了一个我不理解的Firestore控制台错误。 该函数不会引发任何其他ts-lint错误。

错误是什么意思,我该如何解决? 我是否可以正确处理文档ID或Algolia配置有问题?

我的代码:

 // importing libaries import * as admin from 'firebase-admin'; import * as functions from 'firebase-functions'; import * as algoliasearch from 'algoliasearch'; // setting up environment const ALGOLIA_APP_ID = 'my-app-id'; const ALGOLIA_ADMIN_KEY = 'my-admin-key'; admin.initializeApp(functions.config().firebase); // Call onCreate to add data to ALgolia Index export const ideaIndexAdd = functions.firestore .document('ideas/{ideaID}') .onCreate((snap, context) => { const data = snap.data(); const objectID = snap.id; const client = algoliasearch(ALGOLIA_APP_ID, ALGOLIA_ADMIN_KEY); const index = client.initIndex('ideas'); // Add the data to the algolia index return index.addObject({ objectID, ...data }); }); 

Firestore控制台错误

 AlgoliaSearchNetworkError: getaddrinfo ENOTFOUND azrzbvfkpr-2.algolianet.com azrzbvfkpr-2.algolianet.com:443 at ClientRequest.error (/user_code/node_modules/algoliasearch/src/server/builds/node.js:233:14) at ClientRequest.g (events.js:292:16) at emitOne (events.js:96:13) at ClientRequest.emit (events.js:188:7) at TLSSocket.socketErrorListener (_http_client.js:324:9) at emitOne (events.js:96:13) at TLSSocket.emit (events.js:188:7) at connectErrorNT (net.js:1034:8) at _combinedTickCallback (internal/process/next_tick.js:80:11) at process._tickDomainCallback (internal/process/next_tick.js:128:9) 

在我看来,您的Firebase项目位于免费的Spark计划中,该计划不支持联网到不受Google完全控制的端点。 如果要连接到Google以外的服务,则必须将项目升级为付费计划。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM