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 方法和網址:
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:啟動作業時,回應中提供的
,例如3326639765503758657(來自projects/754177431483/locations/us-west1/operations/3326639765503758657) - 注意:
- PROJECT_NUMBER:您的 GCP 專案 ID
- LOCATION_ID:應進行註解的 Cloud 區域。支援的雲端區域包括:
us-east1、us-west1、europe-west1、asia-east1。如果沒有指定任何地區,則會依據影片檔案位置來決定地區。
HTTP 方法和網址:
POST https://videointelligence.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID:cancel
請展開以下其中一個選項,以傳送要求:
您應該會收到執行成功的狀態碼 (2xx) 和空白回應。