API の作成

前提条件

API Gateway で API を作成する前に、次のことを確認してください。

API ID の要件

以下に示す gcloud コマンドの多くでは、API_ID の形式で API の ID を指定する必要があります。API Gateway では、API ID に次の要件が適用されます。

  • 値の最大長は 63 文字です。
  • 使用できるのは小文字、数字、ダッシュのみです。
  • ダッシュで始めることはできません。
  • アンダースコアを含めることはできません。

API の作成

API を作成するには:

  1. 次のコマンドで返されるプロジェクト ID を検証して、サービスが間違ったプロジェクト内に作成されないようにします。

    gcloud config list project

    デフォルト プロジェクトを変更する必要がある場合は、次のコマンドを実行します。このとき PROJECT_ID を、サービスを作成する Google Cloud プロジェクトの ID に置き換えます。

    gcloud config set project PROJECT_ID

    プロジェクト ID にコロン(:)が含まれている場合、プロジェクトで API を作成する方法の詳細について、ドメインをスコープとするプロジェクトをご覧ください。

  2. apis create コマンドのヘルプを表示します。

    gcloud api-gateway apis create --help
  3. 次のコマンドを実行して API を作成します。

    gcloud api-gateway apis create API_ID --project=PROJECT_ID

    ここで

    • API_ID は、新しい API の ID を指定します。API の命名に関するガイドラインについては、API ID の要件をご覧ください。
    • PROJECT_ID は、Google Cloud プロジェクト ID を指定します。

    API の作成時に、API Gateway は情報をターミナルに出力します。

  4. 正常に完了したら、次のコマンドを使用して新しい API の詳細を表示できます。

    gcloud api-gateway apis describe API_ID --project=PROJECT_ID

    このコマンドを実行すると、次のようなフィード レスポンスが返されます。

    createTime: '2020-02-29T21:52:20.297426875Z'
    displayName: API_ID
    managedService: MANAGED_SERVICE_NAME.apigateway.PROJECT_ID.cloud.goog
    name: projects/PROJECT_ID/locations/global/apis/API_ID
    state: ACTIVE
    updateTime: '2020-02-29T21:52:20.647923711Z'

gcloud オプション

Google Cloud CLI には、gcloud リファレンスで説明されているオプションなど、多くのオプションがあります。また、API Gateway では、API の作成時に次のオプションを設定できます。

  • --async: オペレーションの完了を待たずに、直ちに制御をターミナルに戻します。
  • --display-name=NAME: API の表示名、つまり UI に表示される名前を指定します。名前にスペースを使用しないでください。代わりにハイフンとアンダースコアを使用してください。デフォルト値は API_ID です。
  • --labels=KEY1=VALUE1,KEY2=VALUE2,...: API 構成に関連付けられたラベルを指定します。
  • --managed-service: API に既存のマネージド サービス(既存の Endpoints サービスなど)を指定します。

ドメインをスコープとするプロジェクト

プロジェクトのスコープがドメインの場合は、プロジェクト ID のドメイン名の後にコロン(:)が続きます(例: example.com:my-project)。ドメイン スコープのプロジェクトで API を作成する場合は、有効なマネージド サービスを指定する必要があります。

gcloud を使用する場合は、gcloud オプションの説明に沿って、--managed-service フラグを使用してマネージド サービス名を指定します。

API の一覧表示

プロジェクト内のすべての API を一覧表示するには:

gcloud api-gateway apis list --project=PROJECT_ID

このコマンドは、次の形式の出力を返します。

NAME                                              DISPLAY_NAME  MANAGED_SERVICE                          STATE
projects/PROJECT_ID/locations/global/apis/API_ID  API_ID        MANAGED_SERVICE_NAME.apigateway.PROJECT_ID.cloud.goog  ACTIVE

プロジェクト ID と API ID を使用して、API に関する詳細情報を取得します。

gcloud api-gateway apis describe API_ID --project=PROJECT_ID

API の更新

作成後、既存の API のラベルと表示名を更新できます。既存の API を更新するには、次の gcloud オプションを使用します。

  • --display-name
  • --update-labels
  • --clear-labels
  • --remove-labels

次に例を示します。

gcloud api-gateway apis update API_ID --project=PROJECT_ID \
  --update-labels=a=1,b=2

すべての更新オプションを表示するには、次のコマンドを使用します。

gcloud api-gateway apis update --help

API を削除する

API を削除するには、以下の操作を行う必要があります。

  • API に関連付けられている API 構成を削除します。
  • API を削除します。

API を削除するには

  1. API に関連付けられた API 構成のリストを特定します。

    gcloud api-gateway api-configs list --api=API_ID --project=PROJECT_ID
  2. API に関連付けられている各 API 構成を削除します。

    gcloud api-gateway api-configs delete CONFIG_ID --api=API_ID --project=PROJECT_ID
  3. API を削除します。

    gcloud api-gateway apis delete API_ID --project=PROJECT_ID

次のステップ