Firebase 的云函数
Cloud Functions for Firebase 是一个无服务器框架,可让您自动运行后端代码以响应由 Firebase 功能和 HTTPS 请求触发的事件。您的 JavaScript 或 TypeScript 代码存储在 Google 的云中并在托管环境中运行。无需管理和扩展您自己的服务器。
已在 Google Cloud 中使用 Cloud Functions?详细了解Firebase 如何融入其中。
关键能力
集成 Firebase 平台 | 您编写的函数可以响应各种 Firebase 和 Google Cloud 功能生成的事件,从Firebase 身份验证触发器到Cloud Storage 触发器。 使用Admin SDK与 Cloud Functions 集成跨 Firebase 功能,并通过编写您自己的 webhook 与第三方服务集成。 Cloud Functions 最大限度地减少样板代码,让您更轻松地在函数中使用 Firebase 和 Google Cloud。 |
零维护 | 使用命令行中的一个命令将您的 JavaScript 或 TypeScript 代码部署到我们的服务器。之后,Firebase 会自动扩展计算资源以匹配用户的使用模式。您无需担心凭据、服务器配置、配置新服务器或停用旧服务器。 |
使您的逻辑保持私密和安全 | 在许多情况下,开发人员更喜欢在服务器上控制应用程序逻辑,以避免在客户端被篡改。此外,有时不允许对代码进行逆向工程。 Cloud Functions 与客户端完全隔离,因此您可以确保它是私有的,并且始终完全按照您的意愿行事。 |
它是如何工作的?
在您编写和部署函数后,Google 的服务器会立即开始管理该函数。您可以使用 HTTP 请求直接触发该函数,或者在后台函数的情况下,Google 的服务器将侦听事件并在触发时运行该函数。
随着负载的增加或减少,Google 会通过快速扩展运行您的功能所需的虚拟服务器实例的数量来做出响应。每个功能都在其自己的环境中以自己的配置独立运行。
后台函数的生命周期
- 您为新函数编写代码,选择事件提供程序(例如 Cloud Firestore),并定义函数应执行的条件。
- 部署函数时:
- Firebase CLI 创建函数代码的
.zip
存档,然后在 Cloud Functions 在您的项目中创建 Artifact Registry 存储库(名为gcf-artifacts
)之前将其上传到 Cloud Storage 存储桶(以gcf-sources
为前缀)。 - Cloud Build 检索函数代码并构建函数源。您可以在Google Cloud Console中查看 Cloud Build 日志。
- 已构建函数代码的容器映像将上传到项目中的私有 Artifact Registry 存储库(名为
gcf-artifacts
),然后推出新函数。
- Firebase CLI 创建函数代码的
- 当事件提供程序生成与函数条件匹配的事件时,将调用代码。
- 如果函数忙于处理许多事件,Google 会创建更多实例以更快地处理工作。如果函数空闲,则清理实例。
- 当您通过部署更新的代码来更新函数时,旧版本的实例与工件注册表中的构建工件一起被清理,并被新实例替换。
- 当您删除该函数时,所有实例和 zip 存档以及 Artifact Registry 中的相关构建工件都会被清除。函数和事件提供者之间的连接被删除。
除了使用后台函数监听事件之外,您还可以使用 HTTP 请求或来自客户端的调用直接调用函数。
实施路径
设置云函数 | 在 Firebase 项目中安装 Firebase CLI 并初始化 Cloud Functions。 | |
编写函数 | 编写 JavaScript 代码(或在部署时转译的 TypeScript 代码)来处理来自 Firebase 服务、Google Cloud 服务或其他事件提供程序的事件。 | |
测试功能 | 使用本地模拟器测试您的功能。 | |
部署和监控 | 为您的项目启用计费功能并使用 Firebase CLI 部署您的功能。您可以使用Google Cloud Console查看和搜索您的日志。 |
下一步
- 开始设置、创建和部署函数。
- 了解更多关于函数可以做什么的信息。
- 试试Cloud Functions 代码实验室。