如果您不再需要预定或正在运行的流水线运行,可以将其取消。 如果有多个流水线运行需要取消,您可以批量取消这些流水线运行。
当您发起流水线运行取消时,流水线运行的状态会更改为正在取消。在此状态期间,Vertex AI Pipelines 会取消流水线中的所有剩余任务,以及流水线运行调用的所有 Google Cloud 服务和资源。在取消所有这些任务、服务和资源后,流水线状态会更改为已取消。
请注意,已取消的流水线运行不会删除。取消流水线运行后,您可以选择删除流水线运行。
取消流水线运行
如需取消流水线运行,请使用 Google Cloud 控制台、REST API 或 Vertex AI SDK for Python。
控制台
请按照以下说明从 Google Cloud 控制台取消正在进行的流水线运行:
- 在 Vertex AI 部分中,前往流水线页面上的运行标签页。
- 在运行列中,点击要取消的流水线运行的名称。
- 在显示流水线运行详细信息的页面上,点击停止。只有当流水线运行处于正在运行状态时,此选项才可用。
点击停止后,流水线的状态会更改为正在取消。当运行调用的所有流水线任务、 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 http://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 "" \
"http://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 "http://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 控制台流水线页面上的运行标签页中。
取消多个流水线运行
如需同时取消多个流水线运行,请使用 REST API 或 Vertex AI SDK for Python。您可以批量取消同一项目和区域中的流水线运行。
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 控制台的流水线页面上的运行标签页中找到此作业 ID。
HTTP 方法和网址:
POST http://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 \
"http://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 "http://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-08-04T16:11:21.011113Z", "updateTime": "2025-08-04T16: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 控制台的流水线页面上的运行标签页中。