使用云功能Firebase实时数据库触发器和Admin SDK Firebase实时数据库读取事件类型有什么区别?

时间:2018-06-12 14:18:37

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

functions.database.ref('/path')
.onCreate((snap, context) => {

}

VS

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

对我来说,他们看起来一样。

1 个答案:

答案 0 :(得分:1)

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

您的第一个代码段将在Google Cloud Functions上注册,该功能会为您处理Node.js容器的激活/停用。实际上,它会根据进入的事件数量来处理它的扩展和缩小。

因此虽然方法内部的代码可能完全相同,但它们在缩放和成本方面略有不同:

  • 您在云功能上运行的代码会自动从零扩展到任何峰值负载。它的成本与调用的数量和每个调用的时间直接成线性关系。
  • 另一方面,您在自己的Node.js环境中运行的代码具有固定的固定容量(保持Node.js环境活动所需的成本)。