Cloud Functions for Firebase 有两个版本:
- Cloud Functions(第 2 代):它会将您的函数作为服务部署到 Cloud Run 上,使您可以使用 Eventarc 和 Pub/Sub 触发它们。
- Cloud Functions(第 1 代):函数的原始版本,具有有限的事件触发器和可配置性。
我们建议您尽可能为新函数选择使用 Cloud Functions(第 2 代)。尽管如此,我们还是计划继续对 Cloud Functions(第 1 代)提供支持。
本页面介绍了 Cloud Functions 中引入的功能,并比较了两个产品版本。
Cloud Functions(第 2 代)
Cloud Functions 是 Firebase 中推出的新一代函数即服务产品。Cloud Functions(第 2 代)基于 Cloud Run 和 Eventarc 构建,为 Cloud Functions 提供了增强的基础架构和更广泛的事件覆盖范围,包括:
- 基于 Cloud Run 构建:函数使用 Cloud Build 进行构建,并作为 Cloud Run 服务进行部署。这样一来,您就可以像自定义 Cloud Run 服务一样自定义函数。如需了解用于配置服务的选项(例如内存限制、环境变量等),请参阅 Cloud Run 文档。
- 请求处理时间更长:可以运行请求时间更长的工作负载,例如处理来自 Cloud Storage 或 BigQuery 的大量数据流。
- 实例规模更大:可以运行更大规模的计算密集型内存中并行工作负载。
- 改进了并发性能:可以通过单个函数实例处理多个并发请求,最大限度地减少冷启动次数并缩短延迟时间。
- 流量管理:可以在不同的函数修订版本之间拆分流量,或将函数回滚到先前版本。
- Eventarc 集成:原生支持 Eventarc 触发器,将 Eventarc 支持的全部 90 多个事件源引入 Cloud Functions。
- CloudEvents 支持更广泛:所有语言运行时都支持业界标准 CloudEvents,从而提供一致的开发者体验。
如需了解详情,请参阅对照表。
由于 Cloud Functions 会将函数作为服务部署到 Cloud Run,因此 Cloud Functions 与 Cloud Run 共享资源配额和限制。请参阅配额。
对照表
功能 | Cloud Functions(第 1 代) | Cloud Functions |
---|---|---|
映像注册表 | Container Registry 或 Artifact Registry | 仅限 Artifact Registry |
请求超时 | 最长 9 分钟 |
|
实例大小 | 最多搭载 2 个 vCPU,提供最高 8GB 的 RAM | 最多搭载 4 个 vCPU,提供最高 16GiB 的 RAM |
并发 | 每个函数实例 1 个并发请求 | 每个函数实例最多 1000 个并发请求 |
价格
如需了解价格信息,请参阅 Firebase 定价方案。
如果您使用 Cloud Functions,可按如下方式查看只与 Cloud Functions 关联的费用:
- 前往 Google Cloud 控制台中的 Cloud Billing 报告页面。
- 如果出现提示,请选择与您的 Google Cloud 项目关联的结算账号。
- 在过滤条件面板的标签下,添加标签过滤条件,将键设为
goog-managed-by
,值设为cloudfunctions
。
限制
Cloud Functions for Firebase(第 2 代)不支持 Analytics 事件。
虽然 Cloud Functions for Firebase(第 2 代)支持身份验证屏蔽事件,但它不支持与第 1 代相同的一组基本 Authentication 事件。
但是,由于第 1 代和第 2 代函数可以在同一源文件中共存,因此您仍然可以将第 1 代中的 Analytics 和基本 Authentication 触发器与第 2 代函数一起开发和部署。