gpt4 book ai didi

Firebase 错误 : TOO_MANY_TRIGGERS

转载 作者:行者123 更新时间:2023-12-02 11:05:58 24 4
gpt4 key购买 nike

在我们的 Firebase 应用程序中,实时数据库中有一个包含大量项目的列表。对单个项目的每个创建、更新和删除操作均由带有 onWrite 触发器的 Firebase Cloud Function 处理(在最简单的情况下,该函数仅对项目进行计数)。但有时需要对元素进行批量操作,而不需要单独处理。假设我们希望在单个事务中删除所有项目并重置计数器。

之前它运行得很好。由于单次写入 ( https://firebase.google.com/docs/database/usage/limits ) 触发的云函数数量限制为 1000,因此根本不会触发任何函数,这也是期望的结果。

现在,在不对应用程序代码进行任何更改的情况下,我们会遇到错误

Error: TOO_MANY_TRIGGERS: This request would cause too many functions to be triggered.

同样的错误出现在客户端应用程序、管理 API 中,甚至在使用 Web 界面导入 json 时也是如此。对我们有用的唯一选择是批量处理元素。但它不是事务性的,最多需要几十分钟而不是像以前那样需要几毫秒。

我们有什么选择可以绕过这个错误?最好是在超过限制的情况下切换到跳过功能触发。

最佳答案

对于 2018 年之后阅读此问题的任何人,现在可以选择禁用触发限制的严格执行。

默认情况下,对触发事件的写入操作启用严格验证。任何触发超过 1000 个 Cloud Functions 或单个事件大小超过 1 MB 的写入操作都将失败,并返回错误,报告已达到的限制。这可能意味着某些云函数如果未通过预验证则根本不会触发。

如果您正在执行较大的写入操作(例如,删除整个数据库),您可能需要禁用此验证,因为错误本身可能会阻止该操作。

要关闭 strictTriggerValidation,请按照下列步骤操作:

请参阅此处的文档:https://firebase.google.com/docs/database/usage/limits

关于Firebase 错误 : TOO_MANY_TRIGGERS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50659206/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com