Cloud Functions 有哪些用途?

通过 Cloud Functions,开发者能够访问 Firebase 和 Google Cloud 事件,并利用可伸缩的计算力来运行代码以响应这些事件。虽然每款 Firebase 应用都应该以独特的方式使用 Cloud Functions 以满足其独特的需求,不过典型的用例大致可分为以下几类:

请查看您感兴趣的每类使用场景和示例,然后查看使用入门教程或者身份验证事件分析事件及其他事件的具体操作指南。

当发生值得注意的事情时通知用户

开发者可以使用 Cloud Functions 让用户了解并获取最新的应用相关信息。例如,假设有一款让用户可以在应用中关注彼此活动的应用。在这样的一款应用中,用以存储新关注者信息的实时数据库中的写入操作可以触发一个函数,以便创建 Firebase 云消息传递 (FCM) 通知,让相应用户知道他们有新的关注者。

  1. 对存储关注者信息的实时数据库路径进行写入操作时,函数即会触发。
  2. 函数撰写要通过 FCM 发送的消息。
  3. FCM 向用户设备发送通知消息。

要查看可正常工作的代码,请参阅发送 FCM 通知

其他有趣的通知用例

执行实时数据库清理和维护

利用 Cloud Functions 数据库事件处理函数,您可以根据用户行为修改实时数据库,使系统保持最新状态,并且整洁有序。例如,在基于实时数据库构建的聊天室应用中,您可以监控写入事件,并从用户的消息中擦除不当或亵渎性文字。其工作原理如下:

  1. 函数的数据库事件处理程序会侦听特定路径上的写入事件,并检索包含聊天消息文本的事件数据。
  2. 函数处理文本以检测和擦除任何不当用语。
  3. 函数将更新后的文本写回数据库。

要查看可正常工作的代码,请参阅文本审核示例。此示例将清理聊天消息中的不当用语以及“大喊大叫”的大写文字。

其他实时数据库清理和维护用例

在云端而不是在应用中执行密集型任务

开发者可以利用 Cloud Functions 分流无法在用户设备上运行的资源密集型工作,将这些会导致较高 CPU 或网络负载的工作交付给 Google Cloud 处理。例如,您可以编写一个函数来侦听图像上传到 Cloud Storage 的事件,将图像下载到运行该函数的实例,进行修改并将其上传回 Cloud Storage 中。修改操作可以包括调整图像大小、裁剪或转换图像。 提供的 ImageMagick 命令行工具可与 Cloud Functions 结合使用,令此工作得以简化。

  1. 函数在图像文件上传到 Cloud Storage 时触发。
  2. 函数下载图像并创建其缩略图版本。
  3. 函数将缩略图位置写入数据库,便于客户端应用查找和使用。
  4. 函数将缩略图上传回 Cloud Storage 中的新位置。
  5. 应用下载缩略图链接。

如需图像处理示例的分步说明,请参阅处理存储事件

其他 Firebase 云端批处理作业示例

与第三方服务和 API 集成

Cloud Functions 可以通过调用和提供网络 API 来帮助您的应用更好地与其他服务配合工作。例如,一款开发协作应用可以将 GitHub 提交发布到工作组聊天室。

  1. 一个用户向一个 GitHub 代码库推送提交。
  2. HTTPS 函数通过 GitHub webhook API 触发。
  3. 函数向团队 Slack 频道发送提交通知。

其他与第三方服务和 API 集成的方式

发送以下问题的反馈:

此网页
需要帮助?请访问我们的支持页面