代码之家  ›  专栏  ›  技术社区  ›  Wilson

使用云函数firebase realtime数据库触发器和admin sdk firebase realtime数据库读取事件类型有什么区别?

  •  0
  • Wilson  · 技术社区  · 8 年前
    functions.database.ref('/path')
    .onCreate((snap, context) => {
    
    }
    

    虚拟

    ref
    .on("child_added", function(snapshot, prevChildKey) {
    }
    

    在我看来,它们是一样的。

    1 回复  |  直到 8 年前
        1
  •  1
  •   Frank van Puffelen    8 年前

    注册时 on("child_added" 在第二个代码片段中,您需要一个保持活动状态的节点脚本来接收这些事件。如果您终止节点脚本,您将停止接收 child_added 事件。

    您的第一个代码片段将注册在Google Cloud函数上,该函数为您处理node.js容器的激活/停用。实际上,它处理的是随着事件的数量上下扩展。

    因此,虽然方法内部的代码可以做完全相同的事情,但它们在伸缩性和成本方面有细微的不同:

    • 在云函数上运行的代码是从零到任何峰值负载的自动伸缩。它的成本直接与调用的数量和每个调用所花费的时间成线性关系。
    • 另一方面,您在自己的node.js环境中运行的代码以固定的成本(保持node.js环境处于活动状态所需的成本)具有固定的容量。
    推荐文章