API の作成
前提条件
API Gateway で API を作成する前に、次のことを確認してください。
- 開発環境の構成の説明に従って、開発環境を準備済みである。
API ID の要件
以下に示す gcloud
コマンドの多くでは、API_ID の形式で API の ID を指定する必要があります。API Gateway では、API ID に次の要件が適用されます。
- 値の最大長は 63 文字です。
- 使用できるのは小文字、数字、ダッシュのみです。
- ダッシュで始めることはできません。
- アンダースコアを含めることはできません。
API の作成
API を作成するには:
次のコマンドで返されるプロジェクト ID を検証して、サービスが間違ったプロジェクト内に作成されないようにします。
gcloud config list project
デフォルト プロジェクトを変更する必要がある場合は、次のコマンドを実行します。このとき PROJECT_ID を、サービスを作成する Google Cloud プロジェクトの ID に置き換えます。
gcloud config set project PROJECT_ID
プロジェクト ID にコロン(
:
)が含まれている場合、プロジェクトで API を作成する方法の詳細について、ドメインをスコープとするプロジェクトをご覧ください。apis create
コマンドのヘルプを表示します。gcloud api-gateway apis create --help
次のコマンドを実行して 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 は情報をターミナルに出力します。
正常に完了したら、次のコマンドを使用して新しい 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 を削除するには
API に関連付けられた API 構成のリストを特定します。
gcloud api-gateway api-configs list --api=API_ID --project=PROJECT_ID
API に関連付けられている各 API 構成を削除します。
gcloud api-gateway api-configs delete CONFIG_ID --api=API_ID --project=PROJECT_ID
API を削除します。
gcloud api-gateway apis delete API_ID --project=PROJECT_ID