長期執行的作業

對於某些 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) 和空白回應。