パイプライン実行をキャンセルする

スケジュールされたパイプライン実行または実行中のパイプライン実行が不要になった場合は、キャンセルできます。キャンセルするパイプライン実行が複数ある場合は、それらのパイプライン実行を一括でキャンセルできます。

パイプライン実行のキャンセルを開始すると、パイプライン実行のステータスが Canceling に変わります。このステータスでは、Vertex AI Pipelines はパイプライン内の残りのタスクと、パイプライン実行によって呼び出されたすべての Google Cloud サービスとリソースをキャンセルします。これらのタスク、サービス、リソースがすべてキャンセルされると、パイプラインのステータスが [キャンセル済み] に変わります。

キャンセルされたパイプライン実行は削除されません。キャンセル後にパイプライン実行を削除することもできます。

パイプライン実行をキャンセルする

パイプライン実行をキャンセルするには、 Google Cloud コンソール、REST API、または Vertex AI SDK for Python を使用します。

コンソール

Google Cloud コンソールから進行中のパイプライン実行をキャンセルする手順は次のとおりです。

  1. [Vertex AI] セクションで、[パイプライン] ページの [実行] タブに移動します。

    [実行] に移動

  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 メソッドと URL:

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 コンソールの [パイプライン] ページの [実行] タブに表示されます。

複数のパイプライン実行をキャンセルする

複数のパイプライン実行を同時にキャンセルするには、REST API または Vertex AI SDK for Python を使用します。同じプロジェクトとリージョンにあるパイプライン実行をバッチでキャンセルできます。

REST

進行中またはスケジュール設定済みの複数のパイプライン実行をバッチでキャンセルするには、pipelineJobs.batchCancel メソッドを使用して POST リクエストを送信します。

リクエストのデータを使用する前に、次のように置き換えます。

  • LOCATION: パイプライン実行が配置されているリージョン。Vertex AI Pipelines を利用できるリージョンの詳細については、Vertex AI ロケーション ガイドをご覧ください。
  • PROJECT_ID: パイプライン実行を含む Google Cloud プロジェクト。
  • PIPELINE_RUN_ID_1PIPELINE_RUN_ID_2: キャンセルするパイプライン ジョブの ID。ジョブ ID は、 Google Cloud コンソールの [パイプライン] ページの [実行] タブで確認できます。

HTTP メソッドと URL:

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 コンソールの [パイプライン] ページの [実行] タブに表示されます。