Cloud Functions 使开发人员能够访问 Firebase 和 Google Cloud 事件,以及可扩展的计算能力来运行代码以响应这些事件。虽然预计 Firebase 应用程序将以独特的方式使用 Cloud Functions 来满足其独特的需求,但典型的用例可能属于以下领域:
查看您感兴趣的每个类别的用例和示例,然后继续阅读我们的入门教程或身份验证事件、分析事件等的具体操作指南。
当有趣的事情发生时通知用户
开发人员可以使用 Cloud Functions 让用户保持参与并及时了解有关应用程序的相关信息。例如,考虑一个允许用户在应用程序中关注彼此活动的应用程序。每次用户将自己添加为另一个用户的关注者时,都会在实时数据库中进行写入。然后这个写事件可以触发一个函数来创建 Firebase Cloud Messaging (FCM) 通知,让适当的用户知道他们已经获得了新的关注者。
- 该函数在写入存储关注者的实时数据库路径时触发。
- 该函数编写一条消息以通过FCM发送。
- FCM将通知消息发送到用户的设备。
要查看工作代码,请参阅发送 FCM 通知。
其他有趣的通知用例
- 向订阅/取消订阅时事通讯的用户发送确认电子邮件。
- 当用户完成注册时发送欢迎电子邮件。
- 当用户创建新帐户时发送短信确认。
执行数据库清理和维护
借助 Cloud Functions 数据库事件处理,您可以修改实时数据库或 Cloud Firestore 以响应用户行为,从而使系统保持最新和干净。例如,在聊天室应用程序中,您可以监控写入事件并从用户的消息中清除不当或亵渎的文本。这是如何工作的:
- 该函数的数据库事件处理程序侦听特定路径上的写入事件,并检索包含任何聊天消息文本的事件数据。
- 该功能处理文本以检测和清除任何不当语言。
- 该函数将更新后的文本写回数据库。
要查看工作代码,请参阅文本审核示例。此示例清除了聊天消息中的不当语言以及大写的“喊叫”。
其他数据库清理和维护用例
- 从实时数据库中清除已删除用户的内容。
- 限制 Firebase 数据库中子节点的数量。
- 跟踪实时数据库列表中的元素数量。
- 将数据从实时数据库复制到 Google Cloud BigQuery 。
- 将文本转换为表情符号。
- 管理数据库记录的计算元数据。
在云端而不是在您的应用程序中执行密集型任务
开发人员可以利用 Cloud Functions 将无法在用户设备上运行的资源密集型工作(繁重的 CPU 或网络)卸载到 Google 云。例如,您可以编写一个函数来监听上传到 Cloud Storage 的图像,将图像下载到运行该函数的实例,修改它,然后将其上传回 Cloud Storage。您的修改可能包括调整大小、裁剪或转换图像。提供ImageMagick命令行工具以与 Cloud Functions 一起使用,以简化这项工作。
- 当图像文件上传到 Cloud Storage 时会触发一个函数。
- 该函数下载图像并创建它的缩略图版本。
- 该函数将该缩略图位置写入数据库,以便客户端应用程序可以找到并使用它。
- 该函数将缩略图上传回云存储的新位置。
- 该应用程序下载缩略图链接。
Firebase 云中批处理作业的其他示例
- 定期删除未使用的 Firebase 帐户。
- 自动审核上传的图片。
- 向用户发送批量电子邮件。
- 定期汇总和汇总数据。
- 处理待处理工作队列。
与第三方服务和 API 集成
Cloud Functions 可以通过调用和公开 Web API 来帮助您的应用更好地与其他服务协同工作。例如,用于开发协作的应用程序可以将 GitHub 提交发布到工作组聊天室。
- 用户将提交推送到 GitHub 存储库。
- HTTPS 函数通过GitHub webhook API触发。
- 该函数将提交通知发送到团队 Slack 频道。
与第三方服务和 API 集成的其他方式
- 使用 Google Cloud Vision API分析和标记上传的图像。
- 使用 Google Translate 翻译邮件。
- 使用LinkedIn或Instagram等身份验证提供程序来登录用户。
- 向实时数据库写入的 webhook 发送请求。
- 启用对实时数据库元素的全文搜索。
- 处理来自用户的付款。
- 创建对电话和短信的自动回复。
- 使用 Google Assistant 创建聊天机器人。