Cloud Functions for Firebase
已经在 Google Cloud 中使用 Cloud Functions?详细了解如何搭配 Firebase 使用 Cloud Functions。
主要功能
集成 Firebase 功能并将 Firebase 与 Google Cloud 相关联 | 您编写的函数可以响应各种 Firebase 和 Google Cloud 功能(从 Firebase Authentication 触发器到 Cloud Storage 触发器)生成的事件。 将 Admin SDK 与 Cloud Functions 配合使用以与各种 Firebase 功能进行集成,并通过编写自己的 Webhook 来与第三方服务集成。 Cloud Functions 能最大限度减少样板代码,让您更轻松地在函数中使用 Firebase 和 Google Cloud。 |
零维护 | 只需在命令行中输入一个命令即可将您的 JavaScript、TypeScript 或 Python 代码部署到我们的服务器。此后,Firebase 会根据您用户的使用模式自动纵向扩容计算资源。您永远不必担心以下这些问题:凭据、服务器配置、预配新服务器或停用旧服务器。 |
确保逻辑的私密性和安全性 | 在很多情况下,开发者喜欢在服务器上控制应用逻辑,以避免客户端出现篡改的情况。此外,有时候您可能并不希望代码被逆向工程。 Cloud Functions 与客户端完全隔离,因此您可以确信它是私密且安全的,且始终按照您的要求执行操作。 |
工作原理
在您编写并部署函数后,Google 的服务器会立即开始管理函数。您可以使用 HTTP 请求、Admin SDK 或预定作业直接触发函数,或者对于后台函数,Google 的服务器会监听事件并在函数被触发时运行函数。
Google 会随着负载的增加或减少而做出响应,迅速调节运行函数所需的虚拟服务器实例的数量。每个函数都拥有自己的配置,会在自己的环境中单独运行。
后台函数的生命周期
- 您需要为新函数编写代码,选择事件提供程序(如 Cloud Firestore),并定义在哪些条件下执行函数。
- 当您部署函数时:
- Firebase CLI 会创建函数代码的
.zip
归档文件,然后将其上传到 Cloud Storage 存储桶(以gcf-sources
为前缀),接着 Cloud Functions 会在您的项目中创建一个 Artifact Registry 代码库(名为gcf-artifacts
)。 - Cloud Build 会检索函数代码并构建函数源。您可以在 Google Cloud 控制台中查看 Cloud Build 日志。
- 所构建函数代码的容器映像会上传到项目中的私有 Artifact Registry 代码库(名为
gcf-artifacts
),新的函数将会发布。
- Firebase CLI 会创建函数代码的
- 当事件提供程序生成与函数条件匹配的事件时,系统就会调用代码。
- 如果函数忙于处理许多事件,Google 会创建更多实例以更快地处理工作。如果函数空闲,则实例会被清除。
- 当您通过部署更新后的代码来更新函数时,较旧版本的实例以及 Artifact Registry 中的构建工件都会被清除并替换为新实例。
- 当您删除该函数时,所有实例和 zip 归档文件以及 Artifact Registry 中的相关构建工件都会被清除。函数与事件提供程序之间的关联也将移除。
除了使用后台函数侦听事件之外,您还可以使用 HTTP 请求或客户端调用直接调用函数。 您还可以通过 Admin SDK 按固定时间表触发函数或将任务函数加入队列。
实现流程
设置 Cloud Functions | 安装 Firebase CLI 并在 Firebase 项目中初始化 Cloud Functions。 | |
编写函数 | 编写 JavaScript 代码、TypeScript 代码或 Python 代码以处理来自 Firebase 服务、Google Cloud 服务或其他事件提供程序的事件。 | |
测试函数 | 使用本地模拟器测试您的函数。 | |
部署和监控 | 使用 Firebase CLI 为项目启用结算功能并部署您的函数。您可以使用 Google Cloud 控制台查看和搜索日志。 |
后续步骤
- 开始设置、创建和部署函数。
- 详细了解函数的用途。
- 试用 Cloud Functions codelab。