在这件事上搜索了很多,似乎无法找到相关信息。你如何处理实时数据库的多路径更新,所以你没有达到rateLimitExceeded(你的函数的触发器,onWrite,onUpdate,onCreate,onDeleted上每100秒的触发器数量)?
我们的触发器设置如下:
exports.markersUpdate = functions.database.ref('/v1/markers/{pushId}').onWrite((change, context) => {
const record = change.after.val();
const fbKey = context.params.pushId;
...
});
我想也许我可以像这样在父节点上触发,但这会返回所有集合,而不仅仅是更新:
exports.markersUpdate = functions.database.ref('/v1/markers').onWrite((change, context) => {
...
});
此功能基本上会复制数据存储区的更新,以便更好地进行数据分析。这一切都很好,但我们的应用程序有时需要同时更新几百条记录,即使在Blaze计划中也会出现rateLimitExceeded错误。
有没有办法获取更新的项目列表,所以我可以在函数中处理它?</ p>
答案 0 :(得分:1)
云功能无法实现您的目标。云函数将单个写入作为单独的函数调用处理。没有批处理,以后没有排队写入批处理。
如果您想要一次性复制数据,最好还是编写独立程序来查询要复制的数据,并创建自己的批量更新。