客户端库通过处理身份验证和低层级服务器通信,让您能够以编程方式访问 Google Cloud API,同时减少样板代码。 本文档介绍了以下与Google Cloud API 交互的方法:
- Cloud 客户端库(推荐)
- Google API 客户端库
- Firebase 开发平台
- 您自己的客户端代码
如需查找特定 Google Cloud 产品的客户端库信息,请参阅该产品文档中的客户端库部分。
Cloud 客户端库
虽然您可以通过向服务器发出原始请求来直接使用 Google Cloud API,但 Cloud 客户端库可实现简化,从而显著减少您需要编写的代码量。Cloud 客户端库使用最新的客户端库模型,因此是推荐的以编程方式访问 Cloud API 的选项,因为它们:
- 提供每种语言的惯用代码,使 Google Cloud API 易于直观使用。
- 在各个客户端库中提供一致的样式,以简化与多个 Google Cloud 服务的交互。
- 处理与服务器通信的所有低层级细节,包括向 Google 进行身份验证。
- 可以使用熟悉的软件包管理工具(例如
npm和pip)进行安装。 - 在某些情况下,使用 gRPC 可提升性能。如需了解详情,请参阅 gRPC API。
Cloud 客户端库的安装说明和参考资料取决于您使用的特定 Google Cloud API 和编程语言。如需查找此信息,请参阅特定 Google Cloud 产品的文档。大多数产品的文档中都包含“客户端库”部分,其中提供了特定于语言的指南、安装步骤以及指向详细 API 参考的链接。
您可以浏览 Google Cloud API 库,查找特定产品的文档。
Google API 客户端库
如果 Cloud 客户端库不支持您首选的特定 API 语言,您可以使用 Google API 客户端库。这是 Google 提供的早期类型的客户端库。
如果您要升级已使用这些库的项目,也可以使用这些库。此类库具有以下特点:
- 仅提供对 API 的 REST 接口的访问权限;不支持 gRPC。
- 具有自动生成的接口代码,但可能不如 Cloud 客户端库那样符合语言习惯。
- 处理与服务器通信的所有低层级细节,包括向 Google 进行身份验证。
- 可以使用熟悉的软件包管理工具(例如
npm和pip)进行安装。
使用 Firebase 开发平台
Firebase 是 Google 的服务平台,旨在支持您的整个应用开发生命周期。它提供跨平台 SDK,可帮助您和 AI 代理构建和运行适用于 Apple 平台、Android、Web、Flutter、Unity 和 C++ 的应用。
如需了解受支持的 Google Cloud API 以及如何开始使用 Firebase,请参阅 Firebase 文档。
使用您自己的客户端代码
如果您是经验丰富的开发者,并且 Cloud 客户端库无法满足您的特定需求,您可以编写自己的自定义代码来直接访问服务的较低级别服务 API。
REST/HTTP API
所有 Google Cloud API 都公开了 JSON/REST 接口。如果您需要编写自己的自定义代码,以使用第三方 HTTP 客户端库直接访问 REST API,可以参阅 HTTP 指南,详细了解 Google Cloud API 如何与不同的 HTTP 版本和实现搭配使用。
gRPC API
gRPC 是一种与语言无关、与平台无关的开源远程过程调用 (RPC) 系统,最初由 Google 开发。如需了解详情,请访问 grpc.io。启用 gRPC 的 Google Cloud API 通常同时具有 REST 和 RPC 接口,因此启用 gRPC 的 API 客户端不仅可以使用基于 HTTP 的 JSON 与 REST 接口通信,还可以使用基于 HTTP2 的 Protocol Buffer 和 gRPC 与 RPC 接口通信。您可以通过查看 API 的“API 和参考文档”部分,了解相应 API 是否支持 gRPC。
如果 Google Cloud API 已启用 gRPC,您可以使用任何 gRPC 支持的语言为其生成自己的 gRPC 客户端库。为此,您需要 API 的协议缓冲区服务定义(通常可从 GitHub 上的代码库获取)。
然后,您可以按照 grpc.io 上对您的首选语言的说明生成并使用您的客户端。
如果您不想生成自己的 gRPC 代码,仍然可以受益于 gRPC:越来越多的支持 gRPC 的 API 的 Cloud 客户端库在“幕后”使用 gRPC 与 Google 的服务器通信。在吞吐量和 CPU 使用率方面,这要高效得多 - 与 JSON REST API 相比,使用 gRPC 访问 API 可将每个 CPU 的吞吐量提高多达 10 倍。Google 计划尽可能将更多 Cloud 客户端库升级到 gRPC;在此期间,您仍将获得 Google 客户端库代码的所有其他优势。
访问 Cloud API 的其他方式
如果您不想以编程方式访问 API,则可以使用 Google Cloud CLI 中的工具或使用 Google Cloud 控制台来访问一些相同的功能。