對於某些 API 呼叫,Vertex AI 會傳回作業名稱。這些 API 呼叫會啟動需要時間才能完成的作業,稱為「長時間執行作業」。舉例來說,建立資料集、刪除端點或匯出模型都是長時間執行的作業。您可以搭配使用輔助方法和作業名稱,取得長時間執行作業的狀態或取消作業,詳情請參閱下列章節。
取得作業狀態
如要取得作業狀態,請使用您要求長時間執行的作業時,回應中提供的作業名稱。舉例來說,建立資料集時,Vertex AI 會傳回作業名稱,例如:
projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID
您可以定期輪詢作業,瞭解作業何時完成。
REST
使用任何要求資料之前,請先替換以下項目:
- OPERATION_NAME:啟動長時間執行的作業時傳回的作業名稱,例如
projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID
HTTP 方法和網址:
GET https://LOCATION-aiplatform.googleapis.com/v1/OPERATION_NAME
如要傳送要求,請選擇以下其中一個選項:
curl
執行下列指令:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/OPERATION_NAME"
PowerShell
執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/OPERATION_NAME" | Select-Object -Expand Content
在輸出內容中,metadata
物件包含要求類型特有的資訊。done
欄位會指出作業是否完成。如果作業完成,response
物件會包含作業結果。
{ "name": "projects/123456789012/locations/us-central1/datasets/1234567890123456789/operations/1223344556677889900", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateDatasetOperationMetadata", "genericMetadata": { "createTime": "2020-10-12T16:00:44.686500Z", "updateTime": "2020-10-12T16:01:06.115081Z" } }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.Dataset", "name": "projects/123456789012/locations/us-central1/datasets/1234567890123456789", "displayName": "image_dataset", "metadataSchemaUri": "gs://google-cloud-aiplatform/schema/dataset/metadata/image_1.0.0.yaml", "labels": { "aiplatform.googleapis.com/dataset_metadata_schema": "IMAGE" }, "metadata": { "dataItemSchemaUri": "gs://google-cloud-aiplatform/schema/dataset/dataitem/image_1.0.0.yaml" } } }
取消作業
您可以取消長時間執行的作業,在作業完成前停止執行。成功取消作業後,作業不會遭到刪除,而是會停止,並顯示 1
錯誤代碼和 CANCELLED
訊息。請注意,我們不保證一定能取消。
REST
使用任何要求資料之前,請先替換以下項目:
- OPERATION_NAME:啟動長時間執行的作業時傳回的作業名稱,例如
projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID
HTTP 方法和網址:
POST https://LOCATION-aiplatform.googleapis.com/v1/OPERATION_NAME:cancel
如要傳送要求,請選擇以下其中一個選項:
curl
執行下列指令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://LOCATION-aiplatform.googleapis.com/v1/OPERATION_NAME:cancel"
PowerShell
執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/OPERATION_NAME:cancel" | Select-Object -Expand Content
您應該會收到執行成功的狀態碼 (2xx) 和空白回應。