始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Create a bucket with the Cloud Storage JSON/REST API
/ 50
Upload a file using the Cloud Storage JSON/REST API
/ 50
API(アプリケーション プログラミング インターフェース)は、開発者がコンピューティング リソースやデータにアクセスできるようにするためのソフトウェア プログラムです。さまざまな分野の企業が API を一般公開しており、開発者は自身のアプリケーションやコードベースに専用のツール、サービス、ライブラリを組み込むことができます。
このラボでは、API のアーキテクチャと基本機能について復習します。Google Cloud Shell で Cloud Storage API メソッドを構成して実行する実践演習も行います。このラボを受講すると、API 通信、アーキテクチャ、認証の基本原理を理解できるようになります。また、API に関する実践的な経験を積んで、今後のラボやプロジェクトに活かすこともできます。
API を使うとデータとコンピューティング リソースにアクセスできるため、開発者の作業効率が大幅に向上します。プログラム、メソッド、データセットをすべてゼロからビルドするよりも、API を使用する方がはるかに簡単です。API は抽象化の原則に基づいてビルドされています。ご自身の環境で使用するために、API の内部の仕組みや複雑な部分を理解する必要はありません。
API は、開発者が使用することを前提に作成されているため、多くの場合、グラフィカル ユーザー インターフェース(GUI)は提供されません。ただし、例外もあります。Google は API Explorer という新しいツールをリリースしました。このツールを使用すると、さまざまな Google API をインタラクティブに試すことができます(詳しくは、後で API Explorer: Qwik Start ラボをご覧ください)。
Google は、さまざまな分野に適用できる API を提供しています。API は、ウェブ開発、ML、データ サイエンス、システム管理ワークフローでよく使用されます。しかし、これは使用例のごく一部です。たとえば AnyAPI を調べれば、利用できる API がどれだけあるかがわかるでしょう。
Qwiklabs でラボ インスタンス用の新しい Google Cloud プロジェクトがプロビジョニングされるときは、ほとんどの API がバックグラウンドで有効化されるため、すぐにラボのタスクを開始できます。Qwiklabs 以外で独自のプロジェクトを作成した場合、特定の API をユーザー自身で有効にする必要があります。
Google Cloud ユーザーとしての熟練度が増すにつれ、ワークフローでさらに多くの API を使用するようになるでしょう。経験豊富なユーザーは、ツールとサービスの実行に Google Cloud コンソールをほとんど使用せず、ほぼローカル環境のみに Cloud API を統合して使用します。さまざまな言語でさまざまな Google API を使用できるように、Google は多くのハンズオンラボを提供しています。
このラボでは、API ライブラリを見て、どのような Google API が利用できるか確認します。
このラボでは、次のことについて学びます。
これは入門レベルのラボで、API の予備知識や Google API の使用経験がほとんどない、またはまったくない方を対象としています。シェル環境やコマンドライン インターフェース ツールの知識があることが推奨されますが、必須ではありません。Google Cloud コンソールと Cloud Storage に関する知識は必須です。このため、このラボを受講する前に少なくとも次に示すラボを受講してください。
準備ができたら下にスクロールし、手順に沿ってラボ環境を設定します。
こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。
このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。 左側の [ラボの詳細] ペインには、以下が表示されます。
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。
ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
[ラボの詳細] ペインでもユーザー名を確認できます。
[次へ] をクリックします。
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
[ラボの詳細] ペインでもパスワードを確認できます。
[次へ] をクリックします。
その後次のように進みます。
その後、このタブで Google Cloud コンソールが開きます。
Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。
Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン をクリックします。
ウィンドウで次の操作を行います。
接続した時点で認証が完了しており、プロジェクトに各自の Project_ID、
gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。
出力:
出力:
gcloud ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。
次のコマンドを実行して、プロジェクトのリージョンを設定します。
API(アプリケーション プログラミング インターフェース)は、プログラムが互いに通信できるようにするための一連のメソッドです。効果的に通信を行うためには、データの転送と解釈を定める明確なプロトコルにプログラムが準拠する必要があります。インターネットは、API がプログラム間でリクエストとレスポンスを送信するために使用する標準の通信チャネルです。ウェブベースの API は、クライアント サーバー モデルを基盤となるアーキテクチャとして使用して情報を交換します。クライアントは、コンピューティング リソースやデータをリクエストするコンピューティング デバイスです。サーバーには、データやコンピューティング リソースが保存されており、クライアントのリクエストを解釈して処理します。
API は通信チャネルとしてウェブを使用しているため、その多くは HTTP プロトコルに準拠しています。HTTP プロトコルは、インターネットを介してクライアントとサーバー間で行われるデータ交換のルールとメソッドを定義しています。HTTP プロトコルを利用する API は「HTTP リクエスト メソッド」(「HTTP 動詞」ともいいます)を使用して、クライアント リクエストをサーバーに送信します。最も一般的な HTTP リクエスト メソッドは、GET、POST、PUT、DELETE です。GET はクライアントがサーバーからデータを取得するために使用し、PUT は既存のデータを置き換えるか、データが存在しない場合はデータを作成するために使用します。POST は主に新しいリソースを作成するために使用し、DELETE はクライアントが指定した、サーバー上のデータやリソースを削除します。
API は HTTP メソッドを使用して、サーバー上でホストされているデータやコンピューティング サービスとやり取りします。特定のリソースに同じようにアクセスする方法がない場合、このメソッドは役に立ちません。そこで、クライアントが単純かつ確実な方法で必要なリソースにアクセスできるよう、API ではエンドポイントという通信チャネルが使用されます。エンドポイントは、サーバー上でホストされているデータやコンピューティング リソースへのアクセス ポイントで、HTTP URI の形式を取ります。特定のリソースまたはリソースのコンテナへのパスを作成するために、API のベース URL に追加されます。また、クエリ文字列をエンドポイントに追加することにより、API のリクエスト処理に必要となる変数を渡すことができます。
HTTP プロトコル、リクエスト メソッド、エンドポイントを利用する API は、RESTful API と呼ばれます。RESTful API はサーバー上に存在し、クライアント リクエストの実施者として機能します。このモデルは、HTTP メソッド(動詞)が作用するエンドポイント(名詞)のフレームワークを定義し、API はこのフレームワークを使用してリクエストを処理します。まとめると、RESTful API はクライアント サーバー モデルを利用し、HTTP プロトコルに準拠し、HTTP リクエスト メソッドを利用し、エンドポイントを利用して特定のリソースにアクセスします。
以下の選択問題に答え、今回のラボで学習した内容の理解を深めましょう。
このセクションでは、API ライブラリを探索し、API を有効にします。API ライブラリは、すべての Google API の一元的な場所です。API ライブラリを使用して、プロジェクト全体で API を有効化、無効化、管理できます。
API ライブラリには、200 を超える Google API のクイック アクセス、ドキュメント、構成オプションが用意されています。コンソールに格納されてはいますが、ライブラリでは Google Cloud 中心の API だけでなく、すべての Google API にアクセスできることに注目してください。これは重要なポイントです。つまり API はすべての Google サービスの基礎であって、Google API のすべてが Google Cloud のカテゴリに分類されるわけではありません。
では実際に API ライブラリで API を有効化してみましょう。ここではフィットネス サイトのモバイル開発者として、Google Fitness API を使用してアプリケーションをビルドすることを想定します。
Fitness API」と入力して、Enter キーを押します。[Fitness API] ページが開きます。API のステータスは [有効] になっています。
API ライブラリには、各項目(チュートリアルとドキュメント、利用規約、API Explorer で利用できるインタラクティブ メソッド)へのリンクがあります。指標と使用状況に関する情報を確認するには、[API とサービス] ダッシュボードを使用します。このページで、割り当ての表示とリクエスト、リソースとデータへのアクセスの制御、指標の表示を行うことができます。
これらの機能のうちの 1 つを実際に確認するには、[割り当てとシステム上限] タブを選択します。
これにより、この API で 1 日あたりと 1 分あたりに処理できるクエリの数が表示されます。
これで、Cloud 以外の API をプロビジョニングできました。次のセクションでは、API のアーキテクチャと基本機能について学びます。次に、Cloud Storage API の使用を実践します。
以下の選択問題に答え、今回のラボで学習した内容の理解を深めましょう。
これまで学んだことを応用するために、Cloud Shell で Cloud Storage REST/JSON API を呼び出してバケットを作成し、コンテンツをアップロードします。
新しいタブで、Google Cloud Storage JSON API を開き、Cloud Storage API が有効になっているか確認します。API が有効になっていることに注目してください。
Cloud Shell で次のコマンドを実行して、values.json というファイルを作成、編集します。
nano テキスト エディタに貼り付けます。バケットには一意のバケット名が必要なため、バケット名にはプロジェクト ID が使用されます。nano テキスト エディタを終了します。Key-Value ペアを 3 つ(name、location、storageClass)持つオブジェクトを含む JSON ファイルを作成しました。これらは、gsutil コマンドライン ツールやコンソールでバケットを作成するときに必要な値と同じです。
Cloud Storage REST/JSON API を使用してバケットを作成する前に、適切な認証と認可のポリシーを用意しておく必要があります。
認証と認可は同じ意味で使用されることがよくありますが、実際にはこれらは同じではありません。
認証とはユーザーを識別するもので、認可とはユーザーが行えることを決定するものです。
Google API が使用する認証 / 認可サービスには、「API キー」、「サービス アカウント」、「OAuth」の 3 種類があります。API は、リクエストするリソースと API の呼び出し元に応じて、これらの認証サービスのいずれかを使用します。
API キーは、通常は暗号化された文字列の形式で提供されるシークレット トークンで、手軽に生成して使用できます。多くの場合、公開されているデータやメソッドを提供する API は、開発者が手軽に利用できるようユーザー認証に API キーを使用します。
Google Cloud の場合、API キーは API を呼び出す呼び出し元プロジェクトを識別します。これにより、API キーは使用状況の情報をプロジェクトに関連付け、アクセスが許可されていないプロジェクトや API によって有効化されていないプロジェクトからの呼び出しを拒否できます。
OAuth トークンは形式が API キーに似ているもののより安全で、ユーザー アカウントや ID にリンクさせることができます。OAuth トークンは主に、API が開発者にユーザーデータにアクセスする手段を提供する場合に使用されます。
API キーは開発者に API のすべての機能へのアクセスを許可しますが、OAuth クライアント ID はすべてスコープに基づき、ID ごとに異なる特権が付与されます。
サービス アカウントは、個々のエンドユーザーではなく、アプリケーションや仮想マシン(VM)に属している特別な種類の Google アカウントです。アプリケーションは Google API の呼び出しにサービス アカウントの ID を使用するため、ユーザーは直接関与しません。
サービス アカウントを使用するには、アプリケーションにサービス アカウントの秘密鍵を提供します。アプリケーションが Cloud Functions、Google App Engine、Compute Engine、または Google Kubernetes Engine 上で実行されている場合は、組み込みサービス アカウントを使用できます。
特にサービス アカウントとロールを扱うラボについては、サービス アカウントとロール: 基礎をご覧ください。
Cloud Storage は、ユーザーデータをホストしてアクセスを提供するプラットフォームであり、サービスを使用する前に OAuth トークンを生成する必要があります。
新しいタブで OAuth 2.0 Playground を開きます。このサービスを使用すると、OAuth トークンを簡単に生成できます。
下にスクロールして、[Cloud Storage API v1] を選択します。
次に [https://www.googleapis.com/auth/devstorage.full_control] スコープを選択します。
[Authorize APIs] という青いボックスをクリックすると、Google ログインページが開きます。
ユーザー名を選択し、権限を求められたら [Allow] をクリックします。
OAuth 2.0 Playground が開きます。[Step 2] に認証コードが生成されていることを確認します。
[Exchange authorization code for tokens] をクリックします。ステップ 3 に移動した場合は、ステップ 2 のパネルをクリックします。
アクセス トークンをコピーして、次のステップで使用します。
ls」と入力し、Enter キーを押します。先ほど作成した values.json ファイルと、README-cloudshell.txt ファイルが表示されます。出力:
<YOUR_TOKEN> は生成したアクセス トークンに置き換えます。values.json ファイルを編集して、バケット名を変更してください。 このリクエストは、これまで学んできたことの集大成です。curl CLI ツールを使用して HTTP POST メソッドをリクエストし、values.json ファイルをリクエスト本文に渡しました。また、OAuth トークンと JSON 仕様をリクエスト ヘッダーとして渡しました。このリクエストは、Cloud Storage エンドポイントにルーティングされました。このエンドポイントには、プロジェクト ID が設定されたクエリ文字列パラメータが含まれています。
[進行状況を確認] をクリックして、実行したタスクを確認します。Cloud Storage JSON/REST API でバケットが正常に作成されている場合は、評価スコアが更新されます。
Cloud Storage JSON/REST API を使用してバケットにファイルをアップロードすることもできます。
Cloud Shell セッションで、右上のその他メニューのアイコンをクリックします。[アップロード] > [ファイル選択] をクリックします。demo-image.png ファイルを選択してアップロードします。画像がディレクトリに追加されます。
次のコマンドを実行して画像ファイルへのパスを取得します。
次のような出力が返されます。
<DEMO_IMAGE_PATH> は前述のコマンドの出力に置き換えます。次のような出力が返されます。
バケットに追加した画像を表示するには、ナビゲーション メニューを開いて [Cloud Storage] > [バケット] を選択します。
バケット名をクリックすると、demo-image が追加されていることがわかります。
[進行状況を確認] をクリックして、実行したタスクを確認します。Cloud Storage JSON/REST API を使用してファイルが正常にアップロードされている場合は、評価スコアが更新されます。
このラボでは、API について理解を深め、Cloud Storage JSON/REST API を使用した演習を行いました。また、Cloud API、API アーキテクチャ、HTTP プロトコルとメソッド、エンドポイント、RESTful API、JSON、API 認証の方法について学びました。これで、Qwiklabs の他の API ラボを受講する準備が整いました。
次のラボを確認し、API の他の演習も行ってください。
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2024 年 2 月 26 日
ラボの最終テスト日: 2024 年 2 月 26 日
Copyright 2025 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください