通过客户端库,您可以更轻松地使用支持的语言访问 Google Cloud API。虽然您可以通过向服务器发出原始请求来直接使用 Google Cloud API,但客户端库可实现简化,从而显著减少您需要编写的代码量。
本文档介绍了 Google 为 Cloud API 提供的不同类型的客户端库。您还可以在产品或语言文档中找到更多关于产品或选定语言的可用库的信息。
Cloud 客户端库
Cloud 客户端库是我们推荐用于以编程方式访问 Cloud API(如适用)的选项。Cloud 客户端库使用最新的客户端库模型,并且:
- 提供每种语言惯用的代码,使 Cloud API 的使用简单直观。
- 在各个客户端库中提供一致的样式,以简化与多项 Cloud 服务的互动。
- 处理与服务器通信的所有低层级细节,包括通过 Google 进行身份验证。
- 可以使用熟悉的软件包管理工具(如
npm
和pip
)进行安装。 - 在某些情况下,使用 gRPC 将为您带来性能优势。如需了解详情,请参阅 gRPC API。
您可以在所用 Cloud API 的“客户端库”页面上找到 Cloud 客户端库的安装说明和参考资料。您可以在 Cloud 客户端库页面中找到 Cloud 客户端库入门和参考文档的链接。
Google API 客户端库
少数 Google Cloud API 尚未提供所有语言的 Cloud 客户端库。如果您要使用其中一种 API 并且没有适用于您首选语言的 Cloud 客户端库,您仍然可以使用旧版客户端库(称为 Google API 客户端库)。如果您要升级已在使用的项目,也可以使用这些库。此类库具有以下特点:
- 仅提供对 API 的 REST 接口的访问权限;不支持 gRPC。
- 具有自动生成的接口代码(可能不像 Cloud 客户端库那样惯用)。
- 处理与服务器通信的所有低层级细节,包括通过 Google 进行身份验证。
- 可以使用熟悉的软件包管理工具(如
npm
和pip
)进行安装。
这些库在相关 Cloud API 的“客户端库”页面上提供了链接。
使用 Firebase 移动平台
Firebase 是 Google 上用于在移动设备上构建应用的解决方案。它提供了一个包含客户端代码的 SDK,让您可以从 iOS、Android 和 Web 应用访问与移动设备相关的 Cloud API。如需了解受支持的 Cloud API 以及如何开始使用 Firebase,请参阅 Firebase 文档。
使用您自己的客户端代码
如果您是经验丰富的开发者并且 Google 的客户端库无法满足您的特定需求,您可以编写自己的自定义代码来直接访问服务的低层级服务 API。
REST/HTTP API
所有 Cloud API 都公开了一个简单的传统 JSON/REST 接口。如果您需要编写自己的自定义代码以使用第三方 HTTP 客户端库来直接访问 REST API,您可以在 HTTP 准则中找到关于 Cloud API 如何使用不同的 HTTP 版本和实现的更多信息。
gRPC API
gRPC 是一个语言无关、平台无关的开源远程过程调用 (RPC) 系统,最初由 Google 开发。您可以访问 grpc.io 了解详情。启用 gRPC 的 Cloud API 通常同时具有 REST 和 RPC 接口,因此启用 gRPC 的 API 客户端不仅可以使用 JSON over HTTP 与 REST 接口通信,还可以使用 Protocol Buffers 和 gRPC over HTTP2 与 RPC 接口通信。您可以通过查看“API 和参考”部分来了解 API 是否启用了 gRPC。
如果 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 控制台来访问一些相同的功能。