このページでは、Video Stitcher API の長時間実行オペレーション(LRO)のライフサイクルを管理する方法を説明します。
長時間実行オペレーションは、メソッド呼び出しが完了するまでに時間がかかる場合に返されます。たとえば、Video Stitcher API は、projects.locations.liveConfigs.create
を呼び出すたびに LRO を作成します。LRO は処理ジョブのステータスを追跡します。
Video Stitcher API で提供される projects.locations.operations
メソッドを使用して、LRO のステータスを確認できます。また、LRO の一覧表示、キャンセル、削除も行えます。
LRO は Google Cloud のプロジェクト レベルとロケーション レベルで管理されます。 API に対してリクエストを行う場合は、Google Cloud プロジェクトと LRO を実行しているロケーションを含めます。
LRO のレコードは LRO が終了した後、約 30 日間保存されます。それ以降は LRO を表示したり、一覧表示したりできません。
長時間実行オペレーションの詳細の取得
ライブ構成ファイルを作成したとします。このレスポンスの name
値は、Video Stitcher API が projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID
という名前の LRO を作成したことを示しています。
projects.locations.operations.get
メソッドを使用して、入力エンドポイントが作成されているかどうかを確認します。レスポンスに "done": false
が含まれている場合は、レスポンスに "done": true
が含まれるまでコマンドを繰り返します。このオペレーションが完了するまでには数分かかる場合があります。
長時間実行オペレーションの一覧表示によって LRO 名を取得することもできます。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_NUMBER
: IAM 設定ページの [プロジェクト番号] フィールドにある Google Cloud プロジェクト番号LOCATION
: データのロケーション。サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
OPERATION_ID
: オペレーションの ID。
リクエストを送信するには、次のいずれかのオプションを開きます。
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.common.OperationMetadata", "createTime": CREATE_TIME, "endTime": END_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/liveConfigs/LIVE_CONFIG_ID", "verb": "create", "cancelRequested": false, "apiVersion": "v1" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.video.stitcher.v1.LiveConfig", "name": "projects/PROJECT_NUMBER/locations/LOCATION/liveConfigs/LIVE_CONFIG_ID", "sourceUri": "SOURCE_LIVESTREAM_URI", "adTagUri": "AD_TAG_URI", "state": "READY", "adTracking": "CLIENT", "defaultSlate": "projects/PROJECT_NUMBER/locations/LOCATION/slates/SLATE_ID", "stitchingPolicy": "CUT_CURRENT", "defaultAdBreakDuration": "30s" } }
オペレーションが失敗した場合は、トラブルシューティングに役立つ error
オブジェクトの形式でエラー情報が返されます。
{
"error": {
"code": 404,
"message": "got status code 403 when fetching playlist from URI \"https://example.com/manifest.m3u8\"",
"status": "NOT_FOUND"
}
}
長時間実行オペレーションを一覧表示する
特定のロケーションのオペレーションをすべて一覧表示するには、projects.locations.operations.list
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_NUMBER
: IAM 設定ページの [プロジェクト番号] フィールドにある Google Cloud プロジェクト番号LOCATION
: オペレーションのロケーション。サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
リクエストを送信するには、次のいずれかのオプションを開きます。
次のような JSON レスポンスが返されます。
{ "operations": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.video.stitcher.v1.OperationMetadata", "createTime": CREATE_TIME, "endTime": END_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/liveConfigs/LIVE_CONFIG_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.video.stitcher.v1.OperationMetadata", "createTime": CREATE_TIME, "endTime": END_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/liveConfigs/my-other-live-config", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.video.stitcher.v1.LiveConfig", "name": "projects/PROJECT_NUMBER/locations/LOCATION/liveConfigs/my-other-live-config", "sourceUri": "SOURCE_LIVESTREAM_URI", "adTagUri": "AD_TAG_URI", "state": "READY", "adTracking": "SERVER", "defaultSlate": "projects/PROJECT_NUMBER/locations/LOCATION/slates/SLATE_ID", "stitchingPolicy": "CUT_CURRENT", "defaultAdBreakDuration": "30s" } } ] }
長時間実行オペレーションをキャンセルする
長時間実行オペレーションの非同期キャンセルを開始するには、projects.locations.operations.cancel
メソッドを使用します。サーバーはオペレーションのキャンセルに全力を尽くしますが、成功は保証されません。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_NUMBER
: IAM 設定ページの [プロジェクト番号] フィールドにある Google Cloud プロジェクト番号LOCATION
: オペレーションのロケーション。サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
OPERATION_ID
: オペレーションの ID。
リクエストを送信するには、次のいずれかのオプションを開きます。
レスポンスとして空の JSON オブジェクトが返されます。{}
長時間実行オペレーションを削除する
完了した長時間実行オペレーションを削除するには、projects.locations.operations.delete
メソッドを使用します。このメソッドは、クライアントがオペレーション結果に関心がなくなったことを表しています。このメソッドではオペレーションはキャンセルされません。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_NUMBER
: IAM 設定ページの [プロジェクト番号] フィールドにある Google Cloud プロジェクト番号LOCATION
: オペレーションのロケーション。サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
OPERATION_ID
: オペレーションの ID。
リクエストを送信するには、次のいずれかのオプションを開きます。
レスポンスとして空の JSON オブジェクトが返されます。{}