本頁面說明如何管理 Video Stitcher API 長時間執行作業 (LRO) 的生命週期。
如果方法呼叫可能需要很長的時間才能完成,系統會傳回長時間執行的作業。舉例來說,每次呼叫 projects.locations.liveConfigs.create
時,Video Stitcher API 都會建立 LRO。LRO 會追蹤處理工作的狀態。
您可以使用 Video Stitcher API 提供的 projects.locations.operations
方法,查看 LROs 的狀態。您也可以列出、取消或刪除 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
:您的 Google Cloud 專案編號,位於「IAM 設定」頁面上的「專案編號」欄位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
:您的 Google Cloud 專案編號,位於 IAM 設定頁面上的「專案編號」欄位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
:您的 Google Cloud 專案編號,位於 IAM 設定頁面上的「專案編號」欄位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
:您的 Google Cloud 專案編號,位於 IAM 設定頁面上的「專案編號」欄位LOCATION
:作業的位置;請使用支援的區域之一顯示地區us-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
OPERATION_ID
:作業的 ID
如要傳送要求,請展開以下其中一個選項:
您應該會收到空白的 JSON 物件做為回應:{}