取消管道執行作業

如果不再需要排定或正在執行的管道執行作業,可以取消。如要取消多個管道執行作業,可以批次取消這些管道執行作業。

啟動管道執行作業取消程序後,管道執行作業的狀態會變更為「取消中」。處於這個狀態時,Vertex AI Pipelines 會取消 pipeline 中所有剩餘的工作,以及 pipeline 執行作業叫用的所有 Google Cloud 服務和資源。取消所有這些工作、服務和資源後,管道狀態會變更為「已取消」

請注意,取消的管道執行作業不會遭到刪除。取消管道執行後,您可以選擇刪除管道執行

取消管線執行作業

如要取消 pipeline 執行作業,請使用 Google Cloud 控制台、REST API 或 Python 適用的 Vertex AI SDK。

控制台

如要透過 Google Cloud 控制台取消進行中的管道執行作業,請按照下列說明操作:

  1. 在 Vertex AI 專區中,前往「Pipelines」(管線) 頁面的「Runs」(執行) 分頁。

    前往「Runs」(執行作業)

  2. 在「執行」欄中,按一下要取消的管道執行名稱。
  3. 在顯示管道執行作業詳細資料的頁面中,按一下「停止」。只有在管道執行作業處於「執行中」狀態時,才能使用這個選項。

按一下「停止」後,管道狀態會變更為「正在取消」。取消執行作業所叫用的所有管道工作、服務和資源後,狀態會變更為「已取消」。 Google Cloud Google Cloud

REST

如要取消進行中或已排定的管道執行作業,請使用 pipelineJobs.cancel 方法傳送 POST 要求。

使用任何要求資料之前,請先替換以下項目:

  • LOCATION:管道執行所在的區域。如要進一步瞭解 Vertex AI Pipelines 的適用區域,請參閱 Vertex AI 服務地區指南
  • PROJECT_ID:包含管道執行的 Google Cloud 專案。
  • PIPELINE_RUN_ID:要取消的管道執行作業專屬 ID。 管道執行作業 ID 會顯示在 Google Cloud 控制台「管道」頁面的「執行作業」分頁中。

HTTP 方法和網址:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/pipelineJobs/PIPELINE_RUN_ID: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/projects/PROJECT_ID/locations/LOCATION/pipelineJobs/PIPELINE_RUN_ID: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/projects/PROJECT_ID/locations/LOCATION/pipelineJobs/PIPELINE_RUN_ID:cancel" | Select-Object -Expand Content

您應該會收到執行成功的狀態碼 (2xx) 和空白回應。

Python

使用下列範例,透過 PipelineJob.cancel 方法取消進行中或已排定的管道執行作業:

from google.cloud import aiplatform
aiplatform.init(project=PROJECT_ID, location=LOCATION)
pipeline_job = aiplatform.PipelineJob.get(resource_name="PIPELINE_RUN_ID")
pipeline_job.cancel()

更改下列內容:

  • PROJECT_ID:包含管道執行的 Google Cloud 專案。
  • LOCATION:管道執行所在的區域。如要進一步瞭解 Vertex AI Pipelines 的適用區域,請參閱 Vertex AI 服務地區指南
  • PIPELINE_RUN_ID,您要取消的管道執行作業專屬 ID。ID 會顯示在Google Cloud 控制台的「管道」頁面中,位於「執行作業」分頁。

取消多個管道執行作業

如要同時取消多個 pipeline 執行作業,請使用 REST API 或 Python 適用的 Vertex AI SDK。您可以批次取消位於相同專案和區域的 pipeline 執行作業。

REST

如要批次取消多個進行中或已排定的管道執行作業,請使用 pipelineJobs.batchCancel 方法傳送 POST 要求。

使用任何要求資料之前,請先替換以下項目:

  • LOCATION:管道執行作業所在的區域。如要進一步瞭解 Vertex AI Pipelines 的適用區域,請參閱 Vertex AI 服務地區指南
  • PROJECT_ID:包含管道執行的 Google Cloud 專案。
  • PIPELINE_RUN_ID_1PIPELINE_RUN_ID_2:要取消的管道作業 ID。您可以在 Google Cloud 控制台的「Pipelines」(管線) 頁面中,找到「Runs」(執行) 分頁的工作 ID。

HTTP 方法和網址:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/pipelineJobs:batchCancel

JSON 要求主體:

{
  "names": [
    "projects/PROJECT_ID/locations/LOCATION/pipelineJobs/PIPELINE_RUN_ID_1",
    "projects/PROJECT_ID/locations/LOCATION/pipelineJobs/PIPELINE_RUN_ID_2"
  ]
}

如要傳送要求,請選擇以下其中一個選項:

curl

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/pipelineJobs:batchCancel"

PowerShell

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/pipelineJobs:batchCancel" | Select-Object -Expand Content

您應該會收到如下的 JSON 回應:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.BatchCancelPipelineJobsOperationMetadata",
    "genericMetadata": {
      "createTime": "2025-05-25T16:11:21.011113Z",
      "updateTime": "2025-05-25T16:11:21.011113Z"
    }
  }
}

Python

使用下列範例,透過 PipelineJob.batch_cancel 方法取消多個進行中或已排定的管道執行作業:

from google.cloud import aiplatform_v1
from google.api_core.client_options import ClientOptions
pipeline_run_ids_to_cancel = [
  "PIPELINE_RUN_ID_1",
  "PIPELINE_RUN_ID_2",
]
client_options = ClientOptions(api_endpoint=f"LOCATION-aiplatform.googleapis.com")
pipeline_job_client = aiplatform_v1.PipelineServiceClient(client_options=client_options)
pipeline_resource_names_to_cancel = []
for run_id in pipeline_run_ids_to_cancel:
  full_resource_name = f"projects/PROJECT_NUMBER/locations/LOCATION/pipelineJobs/{run_id.strip()}"
  pipeline_resource_names_to_cancel.append(full_resource_name)
parent = f"projects/PROJECT_ID/locations/LOCATION"
pipeline_job_client.batch_cancel_pipeline_jobs(parent=parent, names=pipeline_resource_names_to_cancel)

取代下列內容:

  • PROJECT_ID:您的專案 ID。
  • LOCATION:建立管道執行作業的區域。
  • PROJECT_NUMBER:專案的專案編號。您可以在 Google Cloud 主控台中找到這個專案編號。詳情請參閱「尋找專案名稱、編號和 ID」。
  • PIPELINE_RUN_ID_1PIPELINE_JOB_ID_2:要取消的管道執行作業專屬 ID。管道執行作業 ID 會顯示在 Google Cloud 控制台的「管道」頁面「執行作業」分頁中。