マネージド サービスの作成と削除

このページでは、Service Management API を使用してマネージド サービスのライフサイクルを管理する方法について説明します。

マネージド サービスの標準的なライフサイクルには以下のアクションが含まれます。

  • services.create メソッドを使用してマネージド サービスを作成します。マネージド サービスを作成した後、API を使用してサービス構成を管理する方法とロールアウトを行う方法をそれぞれのガイドで確認できます。
  • services.delete メソッドを使用して、所有しているマネージ ドサービスを破棄します。Service Management はマネージド サービスをソフト削除し、その後 30 日間そのサービスを保持します。
  • services.undelete メソッドを使用して、削除したマネージド サービスを 30 日の保持期間内に復元します。

始める前に

このガイドの例を実行するには、Service Management API スタートガイドの指示に沿って、初期セットアップを完了してください。

マネージド サービスの作成

services.create メソッドを使用してマネージド サービスを作成できます。DNS と互換性のあるサービス名と検証済みドメイン名を指定する必要があります。これらの要件を満たす方法については、Endpoints を構成するをご覧ください。

次のコード スニペットは、プロジェクト endpointsapisendpointsapis.appspot.com という名前のサービスを作成します。

# Create managed service `endpointsapis.appspot.com`
# in the project `endpointsapis`.
$ gcurl -d '{
  "serviceName": "endpointsapis.appspot.com",
  "producerProjectId": "endpointsapis"
}' https://servicemanagement.googleapis.com/v1/services
{
  "name": "operations/services.endpointsapis.appspot.com-0",
  "metadata": {
    "@type":     "type.googleapis.com/google.api.servicemanagement.v1.OperationMetadata",
    "resourceNames": [
      "/services/endpointsapis.appspot.com"
    ],
    "startTime": ...
    "persisted": true
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.api.servicemanagement.v1.ManagedService",
    "serviceName": "endpointsapis.appspot.com",
    "producerProjectId": "endpointsapis",
    ...
  }
}

services.create メソッドは長時間実行オペレーションリソースを返します。operations.get メソッドによってこのリソースをポーリングしてオペレーションのステータスを調べ、オペレーションが完了したかどうかを確認できます。詳しい方法については、長時間実行オペレーションのポーリングをご覧ください。

サービスの取得

サービスを一覧表示するには services.list メソッドを使用し、特定マネージド サービスを取得するには services.get メソッドを使用します。

# List services owned by the project `endpointsapis`.
$ gcurl https://servicemanagement.googleapis.com/v1/services?producerProjectId=endpointsapis
{
  "services": [
    {
      "serviceName": "endpointsapis.appspot.com",
      "producerProjectId": "endpointsapis"
    }
    ....
  ]
}

# Get a specified service.
$ gcurl https://servicemanagement.googleapis.com/v1/services/endpointsapis.appspot.com
{
  "serviceName": "endpointsapis.appspot.com",
  "producerProjectId": "endpointsapis"
}

マネージド サービスの削除

services.delete メソッドを使用して、マネージド サービスの削除をリクエストできます。

# Delete the managed service `endpointsapis.appspot.com`.
$ gcurl -X DELETE https://servicemanagement.googleapis.com/v1/services/endpointsapis.appspot.com
{
  "name": "operations/services.endpointsapis.appspot.com-1",
  "metadata": {
    "@type":     "type.googleapis.com/google.api.servicemanagement.v1.OperationMetadata",
    "resourceNames": [
      "/services/endpointsapis.appspot.com"
    ],
    "startTime": ...
    "persisted": true
  },
  "response": {
  }
}

services.delete メソッドは長時間実行オペレーション リソースを返します。operations.get メソッドによってこのリソースをポーリングしてオペレーションのステータスを調べ、オペレーションが完了したかどうかを確認できます。詳しい方法については、長時間実行オペレーションのポーリングをご覧ください。

services.delete メソッドを呼び出しても、マネージド サービスがすぐに完全に削除されるわけではありません。 マネージド サービスは 30 日間無効になり、その後で完全に削除されます。

マネージド サービスの削除の取り消し

services.undelete メソッドを使用して、削除したマネージド サービスを元に戻すことができます。このメソッドは、削除後 30 日以内にマネージド サービスを復元する場合に使用できます。次のコード スニペットは、指定したマネージド サービスの削除を取り消します。

# Undelete the managed service `endpointsapis.appspot.com`.
$ gcurl -d '{}' https://servicemanagement.googleapis.com/v1/services/endpointsapis.appspot.com:undelete
{
  "name": "operations/services.endpointsapis.appspot.com-2",
  "metadata": {
    "@type":     "type.googleapis.com/google.api.servicemanagement.v1.OperationMetadata",
    "resourceNames": [
      "/services/endpointsapis.appspot.com"
    ],
    "startTime": ...
    "persisted": true
  },
  "response": {
    "@type": "type.googleapis.com/google.api.servicemanagement.v1.ManagedService",
    "serviceName": "endpointsapis.appspot.com",
    "producerProjectId": "endpointsapis",
    ...
  }
}

services.undelete メソッドは長時間実行オペレーション リソースを返します。operations.get メソッドによってこのリソースをポーリングしてオペレーションのステータスを調べ、オペレーションが完了したかどうかを確認できます。詳しい方法については、長時間実行オペレーションのポーリングをご覧ください。