このページでは、Live Stream API の長時間実行オペレーション(LRO)のライフサイクルを管理する方法について説明します。
長時間実行オペレーションは、メソッド呼び出しが完了するまでに時間がかかる場合に返されます。たとえば、Live Stream API は projects.locations.inputs.create
を呼び出すたびに LRO を作成します。LRO は処理ジョブのステータスを追跡します。
Live Stream API で提供される projects.locations.operations
メソッドを使用して、LRO のステータスを確認できます。また、LRO の一覧表示、キャンセル、削除も行えます。
LRO は、 Google Cloud のプロジェクト レベルとロケーション レベルで管理されます。API に対してリクエストを行う場合は、 Google Cloud プロジェクトと LRO を実行しているロケーションを含めます。
LRO のレコードは LRO が終了した後、約 30 日間保存されます。それ以降は LRO を表示したり、一覧表示したりできません。
長時間実行オペレーションの詳細の取得
入力エンドポイントを作成したとします。このレスポンスの name
値は、Live Stream API が projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID
という名前の LRO を作成したことを示しています。
projects.locations.operations.get
メソッドを使用して、入力エンドポイントが作成されているかどうかを確認します。レスポンスに "done": false
が含まれている場合は、レスポンスに "done": true
が含まれるまでコマンドを繰り返します。このオペレーションが完了するまでには数分かかる場合があります。
長時間実行オペレーションの一覧表示によって LRO 名を取得することもできます。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_NUMBER
: Google Cloud プロジェクト番号。IAM 設定ページの [プロジェクト番号] フィールドにあります。LOCATION
: 入力エンドポイントが配置されているロケーション。サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
OPERATION_ID
: オペレーションの ID。
リクエストを送信するには、次のいずれかのオプションを開きます。
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata", "createTime": CREATE_TIME, "endTime": END_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/inputs/INPUT_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.Input", "name": "projects/PROJECT_NUMBER/locations/LOCATION/inputs/INPUT_ID", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "type": "RTMP_PUSH", "uri": INPUT_STREAM_URI, # For example, "rtmp://1.2.3.4/live/b8ebdd94-c8d9-4d88-a16e-b963c43a953b", "tier": "HD" } }
長時間実行オペレーションを一覧表示する
特定のロケーションのオペレーションをすべて一覧表示するには、projects.locations.operations.list
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_NUMBER
: Google Cloud プロジェクト番号。IAM 設定ページの [プロジェクト番号] フィールドにあります。LOCATION
: オペレ^ションのロケーション。サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
リクエストを送信するには、次のいずれかのオプションを開きます。
次のような JSON レスポンスが返されます。
{ "operations": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.livestream.v1.OperationMetadata", "createTime": CREATE_TIME, "endTime": END_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/inputs/INPUT_ID, "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }, { "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/my-other-operation", "metadata": { "@type": "type.googleapis.com/google.cloud.livestream.v1.OperationMetadata", "createTime": CREATE_TIME, "endTime": END_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/inputs/my-other-input", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.livestream.v1.Input", "name": "projects/PROJECT_NUMBER/locations/LOCATION/inputs/my-other-input", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "type": "RTMP_PUSH", "uri": INPUT_STREAM_URI, "tier": "HD" } } ] }
長時間実行オペレーションをキャンセルする
長時間実行オペレーションの非同期キャンセルを開始するには、projects.locations.operations.cancel
メソッドを使用します。サーバーはオペレーションのキャンセルに全力を尽くしますが、成功は保証されません。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_NUMBER
: Google Cloud プロジェクト番号。IAM 設定ページの [プロジェクト番号] フィールドにあります。LOCATION
: オペレーションのロケーション。サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
OPERATION_ID
: オペレーションの ID。
リクエストを送信するには、次のいずれかのオプションを開きます。
レスポンスとして空の JSON オブジェクトが返されます。{}
長時間実行オペレーションを削除する
完了した長時間実行オペレーションを削除するには、projects.locations.operations.delete
メソッドを使用します。このメソッドは、クライアントがオペレーション結果に関心がなくなったことを表しています。このメソッドではオペレーションはキャンセルされません。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_NUMBER
: Google Cloud プロジェクト番号。IAM 設定ページの [プロジェクト番号] フィールドにあります。LOCATION
: オペレーションのロケーション。サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
OPERATION_ID
: オペレーションの ID。
リクエストを送信するには、次のいずれかのオプションを開きます。
レスポンスとして空の JSON オブジェクトが返されます。{}