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)と空のレスポンスが返されます。