借助客户端库,您可以更轻松地通过支持的语言访问 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 是独立于 Google、平台中立的开源远程过程调用 (RPC) 系统,最初由 Google 开发。您可以在 grpc.io 上找到相关信息。启用了 gRPC 的 Cloud API 通常同时具有 REST 和 RPC 接口,因此,启用了 gRPC 的 API 客户端还可以使用 Protocol Buffers 和基于 HTTP2 的 gRPC 与 RPC 接口通信,而不只是使用 JSON over HTTP 与 REST 接口通信。您可以通过查看 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 控制台访问某些相同的功能。