借助客户端库,您可以更轻松地使用支持的语言访问 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 接口通信,还能使用协议缓冲区和 gRPC over HTTP2 与 RPC 接口通信。如需确定某个 API 是否启用了 gRPC,请查看其“API 和参考文档”部分。
如果 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 控制台访问部分相同的功能。