長時間実行オペレーション

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-east1us-west1europe-west1asia-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-east1us-west1europe-west1asia-east1 です。リージョンを指定しないと、動画ファイルの場所に基づいてリージョンが決まります。

HTTP メソッドと URL:

POST https://videointelligence.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID:cancel

リクエストを送信するには、次のいずれかのオプションを展開します。

成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。