Cloud Functions 概览
什么是 Google Cloud Functions?
Google Cloud Functions 是用于构建和连接云端服务的一种无服务器执行环境。借助 Cloud Functions,您可以编写单一用途的简单函数,并将这些函数与您的云基础架构和服务发出的事件进行关联。当所监控的事件发生时,您的函数就会被触发。您的代码将在完全托管的环境中执行。您无需预配任何基础架构,也不必费心管理任何服务器。
您可以使用许多受支持的编程语言编写 Cloud Functions 函数。您可以在任何适用于某种受支持语言的标准运行时环境中运行自己的函数,这样便于轻松进行移植和本地测试。
Cloud Functions 提供两个产品版本:Cloud Functions (第 1 代),这是原始版本;Cloud Functions (第 2 代),这是基于 Cloud Run 和 Eventarc 构建的新版本,可提供增强型功能集。 如需了解详情,请参阅 Cloud Functions 版本比较。
连接和扩展云服务
Cloud Functions 提供了一个逻辑连接层,让您可以编写代码来连接和扩展云端服务。您可以侦听以下事件并做出响应:文件上传到 Cloud Storage、更改日志或 Pub/Sub 主题中收到消息。Cloud Functions 可增强现有云端服务,并使您能够凭借任意编程逻辑应对数量越来越多的使用场景。Cloud Functions 可以访问 Google 服务账号凭据,因此能够无缝地通过大多数 Google Cloud 服务(包括 Cloud Vision)以及其他许多服务的身份验证。此外,许多 Google Cloud 客户端库都支持 Cloud Functions,从而使这些集成变得更加简单。
事件和触发器
云事件是指在云环境中发生的事件,例如,数据库中发生数据变更、存储系统中添加了文件或正在创建新虚拟机实例。
无论您是否选择响应事件,这些事件都会发生。您可以使用触发器创建对事件的响应。触发器是一种声明,用于表明您对某个事件或一系列事件感兴趣。将函数与触发器绑定后,您将能够捕获事件并对其执行操作。如需详细了解如何创建触发器以及如何将其与函数相关联,请参阅 Cloud Functions 触发器。
无服务器
使用 Cloud Functions 无需管理服务器、配置软件、更新框架和修补操作系统。软件和基础架构完全由 Google 托管,您只需添加代码即可。 此外,系统会自动预配资源来响应事件。这意味着,对某个函数的调用可以从一天几次扩大到数百万次,而您无需执行任何操作。
使用场景
异步工作负载(例如轻量级 ETL)或云端自动化功能(例如触发应用构建)现在不再需要专用服务器或开发者来手动管理它们。您只需部署一个函数,使其绑定到您期望的事件,就大功告成了。
Cloud Functions 具备精细、按需使用的特性,这也使其成为轻量级 API 和 webhook 的绝佳候选对象。另外,当您部署 HTTP 函数时,系统会自动预配 HTTP 端点。这意味着不需要象其它一些服务那样有复杂的配置。如需了解其他常见的 Cloud Functions 使用场景,请参阅下表:
使用场景 | 说明 |
---|---|
数据处理/ETL | 监听诸如创建文件、更改文件或移除文件等 Cloud Storage 事件并做出响应。通过您的 Cloud Functions 函数处理图像、执行视频转码、验证和转换数据,以及调用互联网上的任何服务。 |
Webhook | 通过简单的 HTTP 触发器,响应源自 GitHub、Slack、Stripe 等第三方系统或可发送 HTTP 请求的任意位置的事件。 |
轻量级 API | 从轻量级、松散耦合的小型逻辑开始,编写可迅速构建并可即时扩缩的应用。您的函数可以由事件驱动,也可以直接通过 HTTP/S 调用。 |
移动后端 | 使用 Google 面向应用开发者的移动平台 Firebase,在 Cloud Functions 中编写您的移动后端。侦听 Firebase Analytics、Firebase Realtime Database、Firebase Authentication 和 Firebase 存储中的事件并做出响应。 |
物联网 | 想象一下,成千上万的设备向 Pub/Sub 流式传输数据,并由此启动 Cloud Functions 函数来处理、转换和存储数据。Cloud Functions 能够让您通过一种完全不需要服务器的方式做到这一点。 |