【问题标题】:Google cloud function triggered by firebase realtime database eventsFirebase实时数据库事件触发的谷歌云功能
【发布时间】:2020-02-27 01:15:18
【问题描述】:

显然,我们的云函数触发的某些 onCreate/onDelete 事件被多次接收! 我们观察到它们在云函数实例之间传播时甚至相隔几秒钟到达 3 次。这是正常行为还是我们做错了什么?

【问题讨论】:

    标签: firebase firebase-realtime-database google-cloud-functions


    【解决方案1】:

    看看我在下面粘贴的这个“Firebase Google 群组”post 的内容。它写于 2018 年 8 月,但在撰写此“复制/粘贴答案”时仍然完全有效。

    云函数通常 保证您的函数“至少运行一次”,这意味着 事件很有可能(但通常很少见) 多次交付给您的职能部门。为了解决这个问题,您的 函数应该是“幂等的”,这意味着接收相同的 多次事件应该不会导致任何进一步的变化 这是你需要更新。这可能有点挑战性,但它是 需要处理的无服务器系统的属性之一 如果它对您的应用有问题。

    https://cloud.google.com/functions/docs/bestpractices/tips#write_idempotent_functions

    【讨论】:

    • 这很好。令我非常恼火的是,在任何关于firebase实时数据库和云功能组合的官方示例中都没有提到它。此外,它甚至可能不仅仅与云功能行为有关,还与实时数据库的性质有关。我们观察到其他客户端(例如基于 Android)多次收到相同事件的情况。
    猜你喜欢
    • 2020-05-15
    • 2018-04-30
    • 2023-03-14
    • 1970-01-01
    • 2019-11-08
    • 1970-01-01
    • 1970-01-01
    • 2019-12-29
    • 2018-10-31
    相关资源
    最近更新 更多