arrow_back

Google で使用される API の概要

ログイン 参加
知識をテストして、コミュニティで共有しましょう
done
700 を超えるハンズオンラボ、スキルバッジ、コースへのアクセス

Google で使用される API の概要

ラボ 30分 universal_currency_alt クレジット: 1 show_chart 入門
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
知識をテストして、コミュニティで共有しましょう
done
700 を超えるハンズオンラボ、スキルバッジ、コースへのアクセス

GSP294

Google Cloud セルフペース ラボ

概要

API(アプリケーション プログラミング インターフェース)は、開発者がコンピューティング リソースやデータにアクセスできるようにするためのソフトウェア プログラムです。さまざまな分野の企業が API を一般公開しており、開発者は自身のアプリケーションやコードベースに専用のツール、サービス、ライブラリを組み込むことができます。

このラボでは、API のアーキテクチャと基本機能について学習した後、Google Cloud Shell で Cloud Storage API メソッドを構成して実行する実践演習を行います。このラボを受講すると、API 通信、アーキテクチャ、認証の基本原理を理解できるようになります。また、API に関する実践的な経験を積んで、今後のラボやプロジェクトに活かすこともできます。

学習内容

このラボでは、次のことについて学びます。

  • Google API
  • API のアーキテクチャ
  • HTTP プロトコルとメソッド
  • エンドポイント
  • REST(Representational State Transfer)および RESTful API
  • JSON(JavaScript Object Notation)
  • API 認証サービス

前提条件

これは入門レベルのラボで、API の予備知識や Google API の使用経験がほとんどない、またはまったくない方を対象としています。シェル環境やコマンドライン インターフェース ツールの知識があることが推奨されますが、必須ではありません。Google Cloud コンソールと Cloud Storage に関する知識は必須です。このため、このラボを受講する前に少なくとも次に示すラボを受講してください。

準備ができたら下にスクロールし、手順に沿ってラボ環境を設定します。

設定と要件

[ラボを開始] ボタンをクリックする前に

こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。

このハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。

このラボを完了するためには、下記が必要です。

  • 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モードまたはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。
  • ラボを完了するために十分な時間を確保してください。ラボをいったん開始すると一時停止することはできません。
注: すでに個人の Google Cloud アカウントやプロジェクトをお持ちの場合でも、このラボでは使用しないでください。アカウントへの追加料金が発生する可能性があります。

ラボを開始して Google Cloud コンソールにログインする方法

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。

    • [Google Cloud コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウでリンクを開く] を選択します)。

    ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。

    {{{user_0.username | "Username"}}}

    [ラボの詳細] パネルでも [ユーザー名] を確認できます。

  4. [次へ] をクリックします。

  5. 以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。

    {{{user_0.password | "Password"}}}

    [ラボの詳細] パネルでも [パスワード] を確認できます。

  6. [次へ] をクリックします。

    重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  7. その後次のように進みます。

    • 利用規約に同意してください。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

その後、このタブで Google Cloud コンソールが開きます。

注: Google Cloud のプロダクトやサービスのリストを含むメニューを表示するには、左上のナビゲーション メニューをクリックします。ナビゲーション メニュー アイコン

タスク 1. API - 内容と目的

前述のとおり API(アプリケーション プログラミング インターフェース)は、開発者がコンピューティング リソースやデータにアクセスできるようにするためのソフトウェア プログラムです。API は特定のルールとメソッドに則って、リクエストとレスポンスを明確に伝達します。

API を使うとデータとコンピューティング リソースにアクセスできるため、開発者の作業効率が大幅に向上します。プログラム、メソッド、データセットをすべてゼロからビルドするよりも、API を使用する方がはるかに簡単です。API は抽象化の原則に基づいてビルドされています。ご自身の環境で使用するために、API の内部の仕組みや複雑な部分を理解する必要はありません。

API は、開発者が使用することを前提に作成されているため、多くの場合、グラフィカル ユーザー インターフェース(GUI)は提供されません。ただし、例外もあります。Google は API Explorer という新しいツールをリリースしました。このツールを使用すると、さまざまな Google API をインタラクティブに試すことができます(詳しくは、後で API Explorer: Qwik Start ラボをご覧ください)。

タスク 2. Cloud APIs

Google は、さまざまな分野に適用できる API を提供しています。API は、ウェブ開発、ML、データ サイエンス、システム管理ワークフローでよく使用されます。しかし、これは使用例のごく一部です。たとえば AnyAPI を調べれば、どれだけ多くの API が利用できるかがわかるでしょう。

Qwiklabs でラボ インスタンス用の新しい Google Cloud プロジェクトがプロビジョニングされるときは、ほとんどの API がバックグラウンドで有効化されるため、すぐにラボのタスクを開始できます。Qwiklabs 以外で独自のプロジェクトを作成した場合、特定の API をユーザー自身で有効にする必要があります。

Google Cloud ユーザーとしての熟練度が増すにつれ、ワークフローでさらに多くの API を使用するようになるでしょう。経験豊富なユーザーは、ツールとサービスの実行に Google Cloud コンソールをほとんど使用せず、ほぼローカル環境のみに Cloud API を統合して使用します。さまざまな言語でさまざまな Google API を使用できるように、Google は多くのラボを提供しています。たとえば次の 2 つです。

それでは、API ライブラリを見て、どのような Google API が利用できるか確認してみましょう。

タスク 3. API ライブラリ

  1. ナビゲーション メニューを開き、[API とサービス] > [ライブラリ] を選択します。

API ライブラリには、200 を超える Google API のクイック アクセス、ドキュメント、構成オプションが用意されています。コンソールに格納されてはいますが、ライブラリでは Google Cloud 中心の API だけでなく、すべての Google API にアクセスできることに注目してください。これは重要なポイントです。つまり API はすべての Google サービスの基礎であって、Google API のすべてが Google Cloud のカテゴリに分類されるわけではありません。

では実際に API ライブラリで API を有効化してみましょう。ここではフィットネス サイトのモバイル開発者として、Google Fitness API を使用してアプリケーションをビルドすることを想定します。

  1. 「API とサービスを検索」検索バーに「Fitness API」と入力して、Enter キーを押します。
  2. 検索結果のリストで、Fitness API をクリックします。続いて [有効にする] をクリックします。

ブラウザ ウィンドウの「戻る」ボタンをクリックして API ライブラリの Fitness API に戻ると、API が有効になっているはずです。

API ライブラリで有効になっている Fitness API

API ライブラリには、各項目(チュートリアルとドキュメント、利用規約、API Explorer で利用できるインタラクティブ メソッド)へのリンクがあります。指標と使用状況に関する情報を確認するには、[API とサービス] ダッシュボードを使用します。

タスク 4. API とサービス

Google Cloud コンソールの [API とサービス] で Fitness API を調べます。

  1. ナビゲーション メニューを開き、[API とサービス] > [有効な API とサービス] を選択します。

[API とサービス] ダッシュボードには、トラフィック レベル、エラー率、さらにはレイテンシなど、プロジェクトでの特定の API の使用状況が詳細に表示されます。これにより、Google サービスを利用するアプリケーションで発生した問題の優先度をすばやく判断できます。

  1. API リストから [Fitness API] を選択します。

API リスト

注: 最初のページで Fitness API が見つからない場合は、2 ページ目で Fitness API を検索する必要があります。

このページで、割り当ての表示とリクエスト、リソースとデータへのアクセスの制御、指標の表示を行うことができます。

  1. これらの機能のうちの 1 つを実際に確認するには、[割り当て] タブを選択します。

  2. これにより、この API で 1 日あたりと 1 分あたりに処理できるクエリの数が表示されます。

割り当て 1

Cloud API 以外の API のプロビジョニングを行ったので、以降の演習では、Cloud Storage API を使用して API のアーキテクチャと基本機能について学びます。

理解度チェック

以下の選択問題に答え、今回のラボで学習した内容の理解を深めましょう。

タスク 5. API のアーキテクチャ

API は、プログラムが互いに通信できるようにするための一連のメソッドです。効果的に通信を行うためには、データの転送と解釈を定める明確なプロトコルにプログラムが準拠する必要があります。

クライアント サーバー モデル

インターネットは、API がプログラム間でリクエストとレスポンスを送信するために使用する標準の通信チャネルです。また、クライアント サーバー モデルは、ウェブベースの API が情報を交換する際に使用する、基盤となるアーキテクチャです。

クライアントは、コンピューティング リソースやデータをリクエストするコンピューティング デバイス(スマートフォン、ノートパソコンなど)です。クライアントのリクエストは、合意されたプロトコルの形式を取る必要があります。

サーバーには、データやコンピューティング リソースが保存され、クライアントのリクエストを解釈、処理する役割があります。

クライアント サーバー モデルの視覚的な表現を次に示します。

クライアント サーバー モデルの図

タスク 6. HTTP プロトコルとリクエスト メソッド

API は通信チャネルとしてウェブを使用しているため、その多くは HTTP プロトコルに準拠しています。HTTP プロトコルは、インターネットを介してクライアントとサーバー間で行われるデータ交換のルールとメソッドを定義しています。HTTP プロトコルは API だけで使用されるわけではありません。インターネットを介してデータを送受信するウェブ通信の標準として使用されています。

HTTP プロトコルを利用する API は「HTTP リクエスト メソッド」(「HTTP 動詞」ともいいます)を使用して、クライアント リクエストをサーバーに送信します。最も一般的な HTTP リクエスト メソッドは、GET、POST、PUT、DELETE です。

  • GET リクエスト メソッドは、クライアントがサーバーからデータを取得するために使用します。リクエストされたリソースがサーバー上で見つかった場合は、クライアントに返送されます。
  • PUT メソッドは、既存のデータを置き換えるため、またはデータが存在しない場合にデータを作成するために使用します。PUT は、何度呼び出しても結果は変わりません。つまり、サーバー上に存在するデータセットは 1 つだけということです。
  • POST メソッドは、主に新しいリソースを作成するために使用します。POST の場合、複数回呼び出すことで、サーバー上の複数の場所にデータが追加されます。リソースの更新には PUT を使用し、新しいリソースの作成には POST を使用することをおすすめします。
  • DELETE メソッドは、クライアントが指定した、サーバー上のデータやリソースを削除します。

API は何百もあり、それぞれ目的と得意分野がありますが、要点となるのは、API はすべて、同じプロトコルと基盤となるメソッドをクライアントとサーバー間の通信に使用しているということです。

理解度チェック

以下の選択問題に答え、今回のラボで学習した内容の理解を深めましょう。

タスク 7. エンドポイント

API は HTTP メソッドを使用して、サーバー上でホストされているデータやコンピューティング サービスとやり取りします。特定のリソースに同じようにアクセスする方法がない場合、このメソッドは役に立ちません。そこで、クライアントが単純かつ確実な方法で必要なリソースにアクセスできるよう、API ではエンドポイントという通信チャネルが使用されます。

エンドポイントは、サーバー上でホストされているデータやコンピューティング リソースへのアクセス ポイントで、HTTP URI の形式を取ります。特定のリソースまたはリソースのコンテナへのパスを作成するために、API のベース URL(例: http://example.com)に追加されます。次にエンドポイントの例を示します。

  • http://example.com/storelocations
  • http://example.com/accounts
  • http://example.com/employees

次の例も、有効なエンドポイントです。

  • http://example.com/storelocations/sanfrancisco
  • http://example.com/storelocations/newdelhi
  • http://example.com/storelocations/london

クエリ文字列をエンドポイントに追加することにより(例: http://example.com/endpoint/?id=1)、API のリクエスト処理に必要となる変数を渡すことができます。エンドポイントは動詞(HTTP メソッド)が作用する「名詞」にあたるもので、API はこのフレームワークを使用してリクエストを処理します。

具体的には、クライアントは HTTP メソッド(動詞)とエンドポイント(名詞)からなるリクエストを送信して、特定のデータを受信したり、サーバー上で特定のアクションを実施したりします。つまりサーバーとは、提供されたメソッドとエンドポイントに基づいて、特定のオペレーションを解釈、実施することによって、クライアントのリクエストを処理するものだということです。

複雑な作業はすべてバックエンドで行われるため、HTTP メソッドとエンドポイントを利用して呼び出される API は、サーバー上に「存在」し、クライアント リクエストの実施者として機能しているといえます。このモデルは RESTful API を大まかに定義しています。これについては、次のセクションで詳しく説明します。API 用のエンドポイントをビルドする演習については、Cloud Endpoints: Qwik Start のラボをご覧ください。

タスク 8. RESTful API

HTTP プロトコル、リクエスト メソッド、エンドポイントを利用する API は、RESTful API と呼ばれます。REST(Representational State Transfer)は、ウェブベースの通信に関する標準を規定するアーキテクチャ スタイルの一つです。Google による RESTful システムの説明は次のとおりです。

...リソースはデータストアに保存されており、クライアントはサーバーが特定のアクション(リソースの作成、取得、更新、削除など)を実行するようにリクエストを送信します。サーバーはそのアクションを実行し、多くの場合、指定されたリソースの表現形式でレスポンスを送信します。

このリソース指向の設計が、REST の重要な原則です。次のように RESTful API はモデル化されています

...個別にアドレス指定可能なリソースのコレクションで... リソースとメソッドはそれぞれ、API の「名詞」、「動詞」と呼ばれます。HTTP プロトコルでは、リソース名は URL に必然的にマッピングされ、メソッドは HTTP メソッドに必然的にマッピングされます...

構成要素については前のセクションで確認したため、これらの用語には馴染みがあるはずです。REST は API でよく使用されるフレームワークで、2010 年には公開ネットワーク API の約 74% が HTTP REST API でした。

クエリ文字列のほか、RESTful API ではリクエストに次のフィールドも使用できます。

  • ヘッダー: HTTP リクエスト自体について詳述するパラメータ
  • 本文: クライアントがサーバーに送信するデータ

本文は、データ フォーマット言語の JSON または XML で作成します。

タスク 9. API のデータ形式(JSON)

RESTful API は、HTTP リクエスト メソッドの本文に保持されるデータのファイル形式として、XML または JSON(JavaScript Object Notation)を使用します。

JSON は軽量で読みやすく解析が速いため、RESTful API を使用するうえで XML より優れています。ここでは、JSON の構文と構造について簡単に説明します。さらに広範なリファレンスとして、W3C の JSON 構文のドキュメントもご覧ください。

JSON は次のデータ型をサポートしています。

  • 数値: あらゆる種類。整数と浮動小数点値を区別しません。
  • 文字列: 引用符で囲まれたテキスト。
  • ブール値: 値は True または False。
  • 配列: 類似した種類でグループ化された要素のリスト。
  • Null: 空の値。

JSON データは Key-Value ペアで構成されます。これは、データ(値)を参照する一意の識別子(キー)で構成されている、リンクされたデータです。キーは「文字列」でなければならず、値は上記のデータ型のどれでもかまいません。

JSON の簡単な Key-Value ペアの例を次に示します。

"Key1" : "Value 1"

さらに例を示します。

"Key2" : 64 "Key3" : True "Key4" : ["this", "is", "an", "array"]

JSON オブジェクトは中かっこ { } を使用して、Key-Value ペアに配置されたデータをグループ化します。Key-Value ペアを 3 つ含むオブジェクトの例を次に示します。

{ "Name": "Julie", "Hometown": "Los Angeles, CA", "Age": 28 }

オブジェクトに格納されている Key-Value ペアはカンマで区切られています。

JSON の検証

JSON ファイルには、Key-Value ペアやオブジェクトをいくつでも含めることができます。専門的な開発では、ファイルによっては長さが(数千行とまではいかなくとも)数百行になることも珍しくありません。開発者であれば、形式や構文の小さなエラー 1 つでもコードベース全体が壊れてしまうということをご存知でしょう。

jsonlint のような JSON バリデータ、またはメインのブラウザとして Chrome を使用している場合は JSONView 拡張機能を使用すると、JSON コードの構文や形式の問題がすばやく特定され、修正方法が示されます。

JSON 検証の練習をしてみましょう。

  1. 新しいタブで jsonlint バリデータを開きます。

  2. 次のコードブロックをバリデータに貼り付けます。

{ "Name": "Julie", "Hometown": "Los Angeles, CA", "Age": 28 }
  1. [Validate JSON] をクリックします。結果のセクションに「Valid JSON」という緑色のメッセージが表示されます。

  2. 今度は次のコードブロックをバリデータに貼り付けます。

{ "Name": "Julie" "Hometown": "Los Angeles, CA", "Age": 28 }
  1. [Validate JSON] をクリックします。

このコードブロックにはカンマが不足していて、適切なインデントが維持されていません。インデントが修正され、どこに問題があるのかをバリデータがハイライト表示します。

結果: Error: Parse error on line 2:

バリデータは、2 行目の後に識別子(カンマ)が不足していることを特定しました。2 行目の後にカンマを追加して [Validate JSON] をクリックすると、次の出力が表示されます。

結果: Valid JSON

ラボで API と JSON を使用する際、このような JSON バリデータを使用すると、構文エラーのデバッグの問題、時間、労力を大幅に減らせます。

理解度チェック

以下の選択問題に答え、今回のラボで学習した内容の理解を深めましょう。

タスク 10. Google Cloud コンソールで JSON ファイルを作成する

これまで学んだことを応用するために、Cloud Shell で Cloud Storage REST/JSON API を呼び出してバケットを作成し、コンテンツをアップロードします。

  1. 新しいタブで、Google Cloud Storage JSON API を開き、Cloud Storage API が有効になっているか確認します。次の結果が表示されます。

Google Cloud Storage JSON API

  1. Cloud Shell セッションを開きます。次のコマンドを実行して、values.json というファイルを作成、編集します。

nano values.json
  1. 次のコードブロックをコピーして nano テキスト エディタに貼り付けます。<YOUR_BUCKET_NAME> は、一意のバケット名に置き換えます。

{ "name": "<YOUR_BUCKET_NAME>", "location": "us", "storageClass": "multi_regional" }
  1. 完了したら、Ctrl+XYEnter キーを押して nano テキスト エディタを終了します。

Key-Value ペアを 3 つ(namelocationstorageClass)持つオブジェクトを含む JSON ファイルを作成しました。これらは、gsutil コマンドライン ツールやコンソールでバケットを作成するときに必要な値と同じです。

Cloud Storage REST/JSON API を使用してバケットを作成する前に、適切な認証と認可のポリシーを用意しておく必要があります。

タスク 11. 認証と認可

API については、API の認証と認可のスキームも理解しておく必要があります。

  • 「認証」とは、クライアントの身元を判別するためのプロセスです。
  • 「認可」とは、認証されたクライアントが一連のリソースに対してどのような権限を持つかを判断するためのプロセスです。

認証とはユーザーを識別するもので、認可とはユーザーが行えることを決定するものです。

Google API が使用する認証 / 認可サービスには、「API キー」、「サービス アカウント」、「OAuth」の 3 種類があります。API は、リクエストするリソースと API の呼び出し元に応じて、これらの認証サービスのいずれかを使用します。

API キー

API キーは、通常は暗号化された文字列の形式で提供されるシークレット トークンで、手軽に生成して使用できます。公開されているデータやメソッドを提供する API は、多くの場合、開発者が手軽に利用できるようユーザー認証に API キーを使用します。

Google Cloud の場合、API キーは API を呼び出す呼び出し元プロジェクトを識別します。これにより、API キーは使用状況の情報をプロジェクトに関連付け、アクセスが許可されていないプロジェクトや API によって有効化されていないプロジェクトからの呼び出しを拒否できます。

OAuth

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 上で実行されている場合は、組み込みサービス アカウントを使用できます。

特にサービス アカウントと役割を扱うラボについては、サービス アカウントと役割: 基礎をご覧ください。

タスク 12. Cloud Storage JSON/REST API の認証と認可

Cloud Storage は、ユーザーデータをホストしてアクセスを提供するプラットフォームであり、サービスを使用する前に OAuth トークンを生成する必要があります。

  1. 新しいタブで OAuth 2.0 Playground を開きます。このサービスを使用すると、OAuth トークンを簡単に生成できます。

  2. 下にスクロールして、[Cloud Storage API v1] を選択します。

  3. 次に [https://www.googleapis.com/auth/devstorage.full_control] スコープを選択します。

Step 1: Select & authorize APIs page

  1. [Authorize APIs] という青いボックスをクリックすると、Google ログインページが開きます。

  2. Qwiklabs のユーザー名を選択し、権限を求められたら [許可] をクリックします。

これでステップ 2 に認証コードが生成されます。

  1. [Exchange authorization code for tokens] をクリックします。ステップ 3 に移動した場合は、ステップ 2 のパネルをクリックします。ページは次のようになります。

Step 2 パネルには、[Authorization code]、[Refresh token]、[Access token] のフィールドが表示されています

  1. アクセス トークンをコピーします。これは次のステップで使用します。

タスク 13. Cloud Storage JSON/REST API でバケットを作成する

  1. Cloud Shell セッションに戻ります。CLI プロンプトで「ls」と入力し、Enter キーを押します。先ほど作成した values.json ファイルと、README-cloudshell.txt ファイルが表示されます。

出力:

README-cloudshell.txt values.json
  1. 次のコマンドを実行して OAuth2 トークンを環境変数として設定します。<YOUR_TOKEN> は生成したアクセス トークンに置き換えます。

export OAUTH2_TOKEN=<YOUR_TOKEN>
  1. 次のコマンドを実行してプロジェクト ID を環境変数として設定します。<YOUR_PROJECT_ID> は Qwiklabs プロジェクト ID に置き換えます。

export PROJECT_ID=<YOUR_PROJECT_ID>
  1. 次のコマンドを実行して Cloud Storage バケットを作成します。

curl -X POST --data-binary @values.json \ -H "Authorization: Bearer $OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://www.googleapis.com/storage/v1/b?project=$PROJECT_ID"
  1. 次のような出力が返されます。
{ "kind": "storage#bucket", "selfLink": "https://www.googleapis.com/storage/v1/b/qwiklabs-gcp-02-5d551758b5a7", "id": "qwiklabs-gcp-02-5d551758b5a7", "name": "qwiklabs-gcp-02-5d551758b5a7", "projectNumber": "670840659006", "metageneration": "1", "location": "US", "storageClass": "MULTI_REGIONAL", "etag": "CAE=", "timeCreated": "2020-11-11T06:41:40.901Z", "updated": "2020-11-11T06:41:40.901Z", "iamConfiguration": { "bucketPolicyOnly": { "enabled": false }, "uniformBucketLevelAccess": { "enabled": false } }, "locationType": "multi-region" } 注: 「Use of this bucket name is restricted」や「Sorry, that name is not available」といったエラー メッセージが表示された場合、名前がバケットの命名規則に矛盾しています。values.json ファイルを編集して、バケット名を変更してください。

このリクエストは、これまで学んできたことの集大成です。curl CLI ツールを使用して HTTP POST メソッドをリクエストし、values.json ファイルをリクエスト本文に渡しました。また、OAuth トークンと JSON 仕様をリクエスト ヘッダーとして渡しました。このリクエストは、Cloud Storage エンドポイントにルーティングされました。このエンドポイントには、プロジェクト ID が設定されたクエリ文字列パラメータが含まれています。

新規作成した Cloud Storage バケットを表示する

  • 新しく作成したバケットを確認するには、ナビゲーション メニューから [Cloud Storage] > [バケット] を選択します。

完了したタスクをテストする

[進行状況を確認] をクリックして、実行したタスクを確認します。Cloud Storage JSON/REST API でバケットが正常に作成されている場合は、評価スコアが表示されます。

Cloud Storage JSON/REST API でバケットを作成する

タスク 14. Cloud Storage JSON/REST API を使用してファイルをアップロードする

Cloud Storage JSON/REST API を使用してバケットにファイルをアップロードすることもできます。

  1. 次の画像をパソコンに保存し、demo-image.png という名前を付けます。

犬

  1. Cloud Shell セッションで、右上の「さらに表示」アイコンをクリックします。[アップロード] > [ファイル選択] をクリックします。demo-image.png ファイルを選択してアップロードします。画像がディレクトリに追加されます。

  2. 次のコマンドを実行して画像ファイルへのパスを取得します。

realpath demo-image.png

次のような出力が返されます。

/home/gcpstaging25084_student/demo-image.png
  1. 次のコマンドを実行してファイルパスを環境変数として設定します。<DEMO_IMAGE_PATH> は前述のコマンドの出力に置き換えます。

export OBJECT=<DEMO_IMAGE_PATH>
  1. 次のコマンドを実行してバケット名を環境変数として設定します。<YOUR_BUCKET> は実際のバケットの名前に置き換えます。

export BUCKET_NAME=<YOUR_BUCKET>
  1. 次のコマンドを実行して、デモ画像を Cloud Storage バケットにアップロードします。

curl -X POST --data-binary @$OBJECT \ -H "Authorization: Bearer $OAUTH2_TOKEN" \ -H "Content-Type: image/png" \ "https://www.googleapis.com/upload/storage/v1/b/$BUCKET_NAME/o?uploadType=media&name=demo-image"

次のような出力が返されます。

{ "kind": "storage#object", "id": "qwiklabs-gcp-02-5d551758b5a7/demo-image/1605077118178936", "selfLink": "https://www.googleapis.com/storage/v1/b/qwiklabs-gcp-02-5d551758b5a7/o/demo-image", "mediaLink": "https://www.googleapis.com/download/storage/v1/b/qwiklabs-gcp-02-5d551758b5a7/o/demo-image?generation=1605077118178936&alt=media", "name": "demo-image", "bucket": "qwiklabs-gcp-02-5d551758b5a7", "generation": "1605077118178936", "metageneration": "1", "contentType": "image/png", "storageClass": "MULTI_REGIONAL", "size": "401951", "md5Hash": "LbpHpwhnApQKQx9IEXjTsQ==", "crc32c": "j5oPrg==", "etag": "CPis3Zvy+ewCEAE=", "timeCreated": "2020-11-11T06:45:18.178Z", "updated": "2020-11-11T06:45:18.178Z", "timeStorageClassUpdated": "2020-11-11T06:45:18.178Z" }
  1. バケットに追加した画像を表示するには、ナビゲーション メニューを開いて [Cloud Storage] > [バケット] を選択します。

  2. 次にバケットの名前をクリックすると、demo-image が追加されています。

demo-image のハイライト

  1. 画像をクリックすると、[オブジェクトの詳細] ページが開きます。

完了したタスクをテストする

[進行状況を確認] をクリックして、実行したタスクを確認します。Cloud Storage JSON/REST API を使用してファイルが正常にアップロードされている場合は、評価スコアが表示されます。

Cloud Storage JSON/REST API を使用してファイルをアップロードする

お疲れさまでした

このラボでは、API について理解を深め、Cloud Storage JSON/REST API を使用した演習を行いました。また、Cloud API、API アーキテクチャ、HTTP プロトコルとメソッド、エンドポイント、RESTful API、JSON、API 認証の方法について学びました。これで、Qwiklabs の他の API ラボを受講する準備が整いました。

クエストを完了する

このセルフペース ラボは、「OK Google: Build Interactive Apps with Google Assistant」クエスト、「Machine Learning APIs」クエスト、「Workspace Integrations」クエスト、「Developing Data and Machine Learning Apps with C#」クエスト、「Exploring APIs」クエスト、「Develop and Secure APIs with Apigee X」クエストの一部です。クエストとは学習パスを構成する一連のラボのことで、完了すると成果が認められて上のようなバッジが贈られます。バッジは公開して、オンライン レジュメやソーシャル メディア アカウントにリンクできます。このラボの修了後、このラボが含まれるクエストに登録すれば、すぐにクレジットを受け取ることができます。受講可能な全クエストについては、Google Cloud Skills Boost カタログをご覧ください。

次のステップと詳細情報

次のラボを確認し、API の他の演習も行ってください。

Google Cloud トレーニングと認定資格

Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。

マニュアルの最終更新日: 2023 年 1 月 13 日

ラボの最終テスト日: 2023 年 1 月 13 日

Copyright 2024 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします