Video Intelligence API の一部のメソッドは長時間実行オペレーションを返します。これらのメソッドは非同期で、メソッドがレスポンスを返すときにオペレーションが完了していない場合があります。
オペレーションのステータスを取得する
オペレーション名を使用して、長時間実行タスク(ショット変更の検出)のステータスを確認できます。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- OPERATION_NAME:Video Intelligence API の呼び出しから返される
name
フィールド。これは、projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID
という形式の値です。- PROJECT_NUMBER は Google Cloud プロジェクトの番号です。
- LOCATION_ID は、アノテーションが発生したクラウド リージョンです(例:
us-east1
、us-west1
、europe-west1
、asia-east1
)。 - OPERATION_ID は、長時間実行オペレーションの ID です。
HTTP メソッドと URL:
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress", "annotationProgress": [ { "inputUri": "INPUT_URI", "progressPercent": 100, "startTime": "2020-05-12T19:36:09.110351Z", "updateTime": "2020-05-12T19:36:17.519069Z" } ] }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse", "annotationResults": [ { ... } ] } }
オペレーションのキャンセル
オペレーション ID を使用して、長時間実行オペレーションをキャンセルできます。ただし、キャンセルは必ず成功するとは限りません。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- OPERATION_ID: オペレーションの開始時にレスポンスで提供されます。
次に例を示します。projects/754177431483/locations/us-west1/operations/3326639765503758657
からの3326639765503758657
- 注:
- PROJECT_NUMBER: GCP プロジェクト ID
- LOCATION_ID: アノテーションを実行する Cloud リージョン。サポート対象のクラウド リージョンは
us-east1
、us-west1
、europe-west1
、asia-east1
です。リージョンを指定しないと、動画ファイルの場所に基づいてリージョンが決まります。
HTTP メソッドと URL:
POST https://videointelligence.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID:cancel
リクエストを送信するには、次のいずれかのオプションを展開します。
成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。