如果不再需要排定或正在執行的管道執行作業,可以取消。如要取消多個管道執行作業,可以批次取消這些管道執行作業。
啟動管道執行作業取消程序後,管道執行作業的狀態會變更為「取消中」。處於這個狀態時,Vertex AI Pipelines 會取消 pipeline 中所有剩餘的工作,以及 pipeline 執行作業叫用的所有 Google Cloud 服務和資源。取消所有這些工作、服務和資源後,管道狀態會變更為「已取消」。
請注意,取消的管道執行作業不會遭到刪除。取消管道執行後,您可以選擇刪除管道執行。
取消管線執行作業
如要取消 pipeline 執行作業,請使用 Google Cloud 控制台、REST API 或 Python 適用的 Vertex AI SDK。
控制台
如要透過 Google Cloud 控制台取消進行中的管道執行作業,請按照下列說明操作:
- 在 Vertex AI 專區中,前往「Pipelines」(管線) 頁面的「Runs」(執行) 分頁。
- 在「執行」欄中,按一下要取消的管道執行名稱。
- 在顯示管道執行作業詳細資料的頁面中,按一下「停止」。只有在管道執行作業處於「執行中」狀態時,才能使用這個選項。
按一下「停止」後,管道狀態會變更為「正在取消」。取消執行作業所叫用的所有管道工作、服務和資源後,狀態會變更為「已取消」。 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_1、PIPELINE_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_1 和 PIPELINE_JOB_ID_2:要取消的管道執行作業專屬 ID。管道執行作業 ID 會顯示在 Google Cloud 控制台的「管道」頁面「執行作業」分頁中。