Firebase 将于 5 月 10 日重返 Google I/O 大会!立即报名

Cloud Functions(第 2 代)公开预览版

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

得益于 Cloud RunEventarc 提供的支持,Cloud Functions for Firebase(第 2 代)能够向您提供更强大的基础架构,让您对性能和可伸缩性进行更高级的控制,并更好地控制函数运行时。本预览版文档介绍了第 2 代预览版中新增了哪些功能以及当前提供哪些功能,并提供了一些有关如何单独使用新 API 或将该 API 与 Cloud Functions for Firebase(第 1 代)API 结合使用的指南。

Cloud Functions for Firebase(第 2 代)的新增功能

Cloud Functions for Firebase(第 2 代)目前提供的变更和增强功能包括:

  • 函数实例现在可以一次执行多个请求。此功能适用于具备 1 个或更多专用 CPU 的函数。 您可以使用 setGlobalOptions 方法为各个函数或所有函数设置并发级别。如果未指定,具备 1 个或更多专用 CPU 的新函数将默认设为 80 个并发请求。请参阅允许并发请求
  • 可使用全新的 cors 设置保护 Callable 函数和 HTTP 函数。HTTP 触发器现在还新增了一项 cors 设置,可让您更轻松地管理 CORS
  • Cloud Functions 函数现在基于 Cloud Run 构建。如果您不熟悉 Cloud Run,也不必担心,构建函数还与以前一样简单。Cloud Run 是一款更加现代化的无服务器产品,可让您获得更好的性能和配置,并更好地进行监控。
  • Google 已与业界领先企业合作,制定了 CloudEvents 规范。事件处理函数现在使用此开放标准作为其事件签名。
  • 新的触发器类型包括:Firebase Alerts 触发器、Firebase Extensions 的自定义事件触发器以及用于在 Cloud Tasks 上运行资源密集型任务的任务队列函数(第 1 代中也提供了任务队列函数)。
  • firebase-functions SDK 经过重新设计,更符合现代 JavaScript 的原生要求。您可以全局配置第 2 代函数、使用选项对象和使用模块导入项
  • 现在,如果长时间运行的工作负载需要,HTTP 函数允许将超时值设为 1 小时(之前最多为 9 分钟)
  • 目前,在默认情况下,函数实例使用默认计算服务帐号,而不是 App Engine 服务帐号。

预览版阶段的限制

此 Cloud Functions (第 2 代) 预览版尚未包含一整套计划中的功能,也未提供 Cloud Functions(第 1 代)的完整功能。它在可用的触发器和区域方面存在限制,另外还存在本部分中介绍的其他限制。

当前可以使用 Cloud Functions 的位置

Cloud Functions (第 2 代) 目前可在以下区域使用:

  • europe-north1
  • europe-west1
  • europe-west4
  • us-central1
  • us-east1
  • us-west1

当前可用的 Cloud Functions 触发器

Cloud Functions (第 2 代) 支持以下 Firebase 后台触发器:

  • Firebase Realtime Database
  • Cloud Storage
  • Firebase 提醒
  • Pub/Sub
  • Callable 函数
  • Cloud Tasks
  • HTTP
  • 预定函数
  • Firebase Authentication 屏蔽函数
  • Firebase Remote Config
  • Firebase Test Lab

Cloud Functions (第 2 代) 目前不支持以下触发器:

  • Cloud Firestore
  • Firebase Authentication onCreateonDelete
  • Google Analytics(分析)

其他限制

这些限制也适用于 Cloud Functions(第 2 代):

  • 函数名称只能包含小写字母和数字。
  • Firebase CLI 或 Firebase 控制台尚不支持全面的可观测性。如需观测您的函数实例,请使用 Google Cloud 控制台监控底层 Cloud Run 服务
  • Firebase Local Emulator Suite 目前在第 2 代中支持 HTTP、Cloud Storage 和 Pub/Sub 函数。
  • HTTP 函数尚不支持 cloudfunctions.net 网址;暂时使用 .run.app 网址。此限制还会影响对 Callable任务队列函数的调用(如需了解可接受的解决方法,请参阅相应的指南)。
  • 冷启动尚未在第 2 代中进行优化,因此暂时可能会明显慢于第 1 代。但是,由于存在并发机制,最终用户体验到的总体冷启动时间应该会减少。