このページでは、Service Management API を使用してマネージド サービスのライフサイクルを管理する方法について説明します。
マネージド サービスの標準的なライフサイクルには以下のアクションが含まれます。
services.create
メソッドを使用してマネージド サービスを作成します。マネージド サービスを作成した後、API を使用してサービス構成を管理する方法とロールアウトを行う方法をそれぞれのガイドで確認できます。services.delete
メソッドを使用して、所有しているマネージ ドサービスを破棄します。Service Management はマネージド サービスをソフト削除し、その後 30 日間そのサービスを保持します。services.undelete
メソッドを使用して、削除したマネージド サービスを 30 日の保持期間内に復元します。
始める前に
このガイドの例を実行するには、Service Management API スタートガイドの指示に沿って、初期セットアップを完了してください。
マネージド サービスの作成
services.create
メソッドを使用してマネージド サービスを作成できます。DNS と互換性のあるサービス名と検証済みドメイン名を指定する必要があります。これらの要件を満たす方法については、Endpoints を構成するをご覧ください。
次のコード スニペットは、プロジェクト endpointsapis
に endpointsapis.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.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
メソッドによってこのリソースをポーリングしてオペレーションのステータスを調べ、オペレーションが完了したかどうかを確認できます。詳しい方法については、長時間実行オペレーションのポーリングをご覧ください。