サーバーにリクエストを送信して Google Cloud API を直接利用することもできますが、クライアント ライブラリを使用すると、記述するコードの量を大幅に削減できます。
このドキュメントでは、 Google Cloud API とのインタラクションを行う方法について説明します。
- Cloud クライアント ライブラリ(推奨)
- Google API クライアント ライブラリ
- Firebase モバイル
- 独自のクライアント コード
特定の Google Cloud プロダクトのクライアント ライブラリ情報については、そのプロダクトのドキュメントのクライアント ライブラリのセクションをご覧ください。サポートされている言語別に整理されていることが多いすべての Cloud クライアント ライブラリを表示するには、Cloud クライアント ライブラリをご覧ください。
Cloud クライアント ライブラリ
Cloud クライアント ライブラリは、Cloud APIs にプログラムでアクセスする場合におすすめの方法です。Cloud クライアント ライブラリでは最新のクライアント ライブラリ モデルが使用されます。
- Google Cloud API を直感的に使用できるように、各言語で慣用的なコードを提供します。
- 複数の Google Cloud サービスを簡単に操作できるように、クライアント ライブラリ全体で一貫したスタイルを提供します。
- Google での認証など、サーバーとの通信に関する下位レベルのすべての詳細を処理します。
npm
やpip
など、使い慣れたパッケージ管理ツールを使用してインストールできます。- 場合によっては、gRPC を使用してパフォーマンスを高めることもできます。詳細については、gRPC API をご覧ください。
Cloud クライアント ライブラリのインストール手順と参照マテリアルは、使用している特定の Google Cloud API とプログラミング言語によって異なります。この情報を確認するには、特定の Google Cloud プロダクトのドキュメントをご覧ください。ほとんどのプロダクトのドキュメントには「クライアント ライブラリ」セクションがあり、言語固有のガイダンス、インストール手順、詳細な API リファレンスへのリンクが記載されています。
特定のプロダクトのドキュメントは、Google Cloud API ライブラリで確認できます。
使ってみる
Google Cloudを初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
無料で開始Google API クライアント ライブラリ
特定の API で希望する言語の Cloud クライアント ライブラリが使用できない場合は、Google API クライアント ライブラリを使用できます。これらは、Google が提供する以前のタイプのクライアント ライブラリです。
これらのライブラリをすでに使用しているプロジェクトをアップグレードする場合は、そのライブラリを使用することもできます。これらのライブラリの特徴は次のとおりです。
- API の REST インターフェースにのみアクセスできます。gRPC はサポートされていません。
- Cloud クライアント ライブラリほど慣用的ではない自動生成されたインターフェース コードが用意されています。
- Google での認証など、サーバーとの通信に関する下位レベルのすべての詳細を処理します。
npm
やpip
など、使い慣れたパッケージ管理ツールを使用してインストールできます。
Firebase モバイル プラットフォームを使用する
Firebase は、モバイル デバイスのアプリケーションをビルドするための Google 全体のソリューションです。Firebase では、クライアント コードを含む SDK が提供されます。このコードを使用すると、iOS、Android、ウェブアプリからモバイル関連の Google Cloud API にアクセスすることができます。サポートされている 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 は、Google で最初に開発された、言語やプラットフォームに依存しないオープンソースのリモート プロシージャ コール(RPC)システムです。詳細については、grpc.io をご覧ください。gRPC 対応の Google Cloud API には、通常、REST と RPC の両方のインターフェースが備えられているため、HTTP で JSON を使用して REST インターフェースと通信するのではなく、gRPC 対応の API クライアントでは、HTTP2 でプロトコル バッファと gRPC を使用し、RPC インターフェースと通信することもできます。API が gRPC 対応であるかどうかは、その API とリファレンス セクションをチェックすることによって確認できます。
gRPC 対応の Google Cloud API に対しては、gRPC でサポートされている任意の言語で、独自の gRPC クライアント ライブラリを生成することができます。このためには、API のプロトコル バッファ サービス定義(通常は GitHub のリポジトリから使用可能)が必要になります。
この定義を取得したら、grpc.io に示された任意の言語の手順に従って、クライアントを生成して使用できます。
独自の gRPC コードを生成しない場合でも、gRPC を活用することができます。gRPC 対応 API のための Cloud クライアント ライブラリのうち、gRPC を「内部的に」使用して Google のサーバーと通信するものが増加しています。これにより、スループットと CPU の使用率が大幅に効率化されます。gRPC を使用して API にアクセスすると、JSON REST API と比較して 10 倍も CPU あたりのスループットを高めることができます。できる限り多くの Cloud クライアント ライブラリを gRPC にアップグレードする予定です。それまでの間は、クライアント ライブラリ コードのその他すべてのメリットを引き続きご利用いただけます。
Cloud API にアクセスするその他の方法
プログラムから API にアクセスしたくない場合は、Google Cloud CLI または Google Cloud コンソールのツールを使用して一部の同じ機能にアクセスできます。