Firebase的Cloud Functions功能

Firebase的Cloud Functions是firebase基础功能之二

可采用javascript或者typescript编写。

编写的函数, 直接部署在firebase云上。

主要功能

1. 集成firebase平台

编写的函数可以响应如下由firebase和Google Cloud功能生成的事件.

  • Cloud Firestore触发器
  • 实时数据库触发器
  • 远程配置触发器
  • Firebase身份验证触发器
  • Google Analytics for Firebase触发器
  • Crashlytics触发器
  • Cloud Storage触发器
  • Cloud Pub/Sub触发器
  • HTTP触发器

将Admin SDK与Cloud Functions配合使用以与各种Firebase功能进行集成, 并通过编写自己的webhook来与第三方服务集成. Cloud Functions能最大限度减少样板代码, 让您更轻松地在函数中使用Firebase和Google Cloud.

## 工作原理

在您编写并部署函数后,Google 的服务器会立即开始管理函数。您可以使用 HTTP 请求直接触发函数,或者,如果触发的是后台函数,Google 的服务器会侦听事件并在函数被触发时运行函数。

负载增加或减少时,Google 会做出响应,迅速调节运行函数所需的虚拟服务器实例的数量。每个函数都拥有自己的配置,会在自己的环境中单独运行。

## 后台函数的生命周期

  1. 开发者为新函数编写代码,选择事件提供程序(如实时数据库),并定义在哪些条件下执行函数。
  2. 开发者部署函数,Firebase 将其关联到所选的事件提供程序。
  3. 当事件提供程序生成与函数条件匹配的事件时,系统就会调用代码。
  4. 如果函数忙于处理许多事件,Google 会创建更多实例以更快地处理工作。如果函数空闲,则清理实例。
  5. 当开发者通过部署更新后的代码来更新函数时,旧版本的所有实例都将被清理并替换为新实例。
  6. 当开发者删除函数时,所有实例都会被清理,函数与事件提供程序之间的关联也将移除。

除了使用后台函数侦听事件之外,您还可以使用 HTTP 请求或客户端调用直接调用函数。