使用调度器 API 安排流水线运行

您可以使用调度器 API 在 Vertex AI 中安排一次性或周期性流水线运行。这样您就可以在项目中实现持续训练。

创建时间表后,该时间表可能具有以下状态之一:

  • ACTIVE:活跃时间表会根据使用 cron 时间表表达式进行配置的频率,持续创建流水线运行。时间表在开始时间起生效,并保持该状态,直到指定的结束时间或暂停为止。

  • PAUSED:暂停的时间表不会创建流水线运行。您可以恢复暂停的时间表,以使其再次生效。当您恢复暂停的计划时,您可以使用 catch_up 参数来指定是否需要重新计划并尽早提交跳过的运行(如果计划处于活动状态则本应计划的运行)。

  • COMPLETED:已完成的时间表不再创建新的流水线运行。系统会根据指定的结束时间来完成时间表。

您可以使用调度器 API 执行以下操作:

须知事项

在使用调度器 API 安排流水线运行之前,请按照以下说明在 Google Cloud 控制台中设置 Google Cloud 项目和开发环境。

  1. 向用户或服务账号授予以下至少一个 IAM 权限,以便使用调度器 API:

    • roles/aiplatform.admin
    • roles/aiplatform.user
  2. 构建和编译流水线。如需了解详情,请参阅构建流水线

创建时间表

您可以创建一次性时间表或周期性时间表。

控制台

请按照以下说明使用 Google Cloud 控制台创建时间表。如果项目和区域已存在时间表,请按照创建流水线运行中的说明操作。

按照以下说明创建流水线时间表:

  1. 在 Google Cloud 控制台的 Vertex AI 部分中,转到流水线页面上的时间表标签页。

    进入“时间表”

  2. 点击创建计划运行以打开创建流水线运行窗格。

  3. 选择以下一个选项,以指定以下运行详情

    • 如需根据现有流水线模板创建流水线运行,请点击从现有流水线中选择,然后输入以下详细信息:

      1. 选择包含流水线或组件定义文件的代码库

      2. 选择流水线或组件版本

    • 如需上传已编译的流水线定义,请点击上传文件,然后输入以下详细信息:

      1. 点击浏览,打开文件选择器。导航到要运行的已编译流水线 YAML 文件,选择流水线,然后点击打开

      2. 默认情况下,流水线或组件名称显示流水线定义中指定的名称。您也可以指定其他流水线名称。

    • 如需从 Cloud Storage 导入流水线定义文件,请点击从 Cloud Storage 导入,然后输入以下详细信息:

      1. 点击浏览,导航到包含流水线定义对象的 Cloud Storage 存储桶,选择文件,然后点击选择

      2. 指定流水线或组件名称

  4. 指定运行名称以唯一标识流水线运行。

  5. 指定运行时间表,如下所示:

    1. 选择周期性

    2. 开始时间下,指定时间表何时生效。

      • 如需将首次运行安排在时间表创建时立即发生,请选择立即

      • 如需将首次运行安排在某个特定时间和日期,请选择开启

    3. 频率字段中,使用基于 unix-cron 的 Cron 时间表表达式指定计划和执行流水线运行的频率。

    4. 结束时间下,指定时间表的结束时间。

      • 如需指示时间表创建流水线无限期运行,请选择永不

      • 如需指明时间表在特定日期和时间结束,请选择开启,然后指定时间表的结束日期和时间。

  6. 可选:如需指定自定义服务账号、客户管理的加密密钥 (CMEK) 或对等互连 VPC 网络,请点击高级选项,然后指定服务账号、CMEK 或对等互连 VPC 网络名称。

  7. 点击继续,然后为流水线指定运行时配置

  8. 点击提交以创建流水线运行时间表。

REST

如需创建流水线运行时间表,请使用 projects.locations.schedules.create 方法发送 POST 请求。

在使用任何请求数据之前,请先进行以下替换:

  • LOCATION:要在其中运行流水线的区域。如需详细了解支持 Vertex AI Pipelines 的区域,请参阅 Vertex AI 位置指南
  • PROJECT_ID:要在其中运行流水线的 Google Cloud 项目。
  • DISPLAY_NAME:流水线时间表的名称。您可以指定长度不超过 128 个 UTF-8 字符的名称。
  • START_TIME:安排可以安排首次运行的时间戳,例如 2045-07-26T00:00:00Z。如果未指定此参数,则与创建时间表的日期和时间对应的时间戳将用作默认值。
  • END_TIME:安排不再运行流水线的时间戳。达到 END_TIME 后,时间表的状态会更改为 COMPLETED。如果未指定此参数,则时间表将继续无限期地运行新的流水线作业,直到您暂停或删除时间表为止。
  • CRON_EXPRESSION:Cron 时间表表达式,表示安排和执行流水线运行的频率。如需了解详情,请参阅 cron
  • MAX_CONCURRENT_RUN_COUNT:时间表的并发运行次数上限。
  • API_REQUEST_TEMPLATE:用于执行计划流水线运行的 PipelineService.CreatePipelineJob API 请求模板。如需详细了解 API 请求模板中的参数,请参阅 pipelineJobs.create 的文档。请注意,您无法在此模板中指定 pipelineJobId 参数,因为调度器 API 不支持此参数。

HTTP 方法和网址:

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

请求 JSON 正文:

{
  "display_name":"DISPLAY_NAME",
  "start_time": "START_TIME",
  "end_time": "END_TIME",
  "cron": "CRON_EXPRESSION",
  "max_concurrent_run_count": "MAX_CONCURRENT_RUN_COUNT",
  "create_pipeline_job_request": API_REQUEST_TEMPLATE
}

如需发送请求,请选择以下方式之一:

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/schedules"

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/schedules" | Select-Object -Expand Content

您应该会看到类似如下所示的输出。您可以使用响应中的 SCHEDULE_ID 来检索、暂停、恢复或删除时间表。PIPELINE_JOB_CREATION_REQUEST 表示创建流水线作业的 API 请求。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/schedules/SCHEDULE_ID",
  "displayName": "DISPLAY_NAME",
  "startTime": "START_TIME",
  "state": "ACTIVE",
  "createTime": "2025-01-01T00:00:00.000000Z",
  "nextRunTime": "2045-08-01T00:00:00Z",
  "cron": "CRON_EXPRESSION",
  "maxConcurrentRunCount": "MAX_CONCURRENT_RUN_COUNT",
  "createPipelineJobRequest": PIPELINE_JOB_CREATION_REQUEST
}

Python

您可以通过以下方式创建流水线运行时间表:

  • 使用 PipelineJob.create_schedule 方法根据 PipelineJob 创建时间表。

  • 使用 PipelineJobSchedule.create 方法创建时间表。

创建流水线运行时间表时,您还可以传入 KFP SDK 支持的以下占位符作为输入:

  • {{$.pipeline_job_name_placeholder}}

  • {{$.pipeline_job_resource_name_placeholder}}

  • {{$.pipeline_job_id_placeholder}}

  • {{$.pipeline_task_name_placeholder}}

  • {{$.pipeline_task_id_placeholder}}

  • {{$.pipeline_job_create_time_utc_placeholder}}

  • {{$.pipeline_job_schedule_time_utc_placeholder}}

  • {{$.pipeline_root_placeholder}}

如需了解详情,请参阅 Kubeflow Pipelines v2 文档中的特殊输入类型

通过 PipelineJob 创建时间表

使用以下示例使用 PipelineJob.create_schedule 方法安排流水线运行:

from google.cloud import aiplatform

pipeline_job = aiplatform.PipelineJob(
  template_path="COMPILED_PIPELINE_PATH",
  pipeline_root="PIPELINE_ROOT_PATH",
  display_name="DISPLAY_NAME",
)

pipeline_job_schedule = pipeline_job.create_schedule(
  display_name="SCHEDULE_NAME",
  cron="TZ=CRON",
  max_concurrent_run_count=MAX_CONCURRENT_RUN_COUNT,
  max_run_count=MAX_RUN_COUNT,
)

  • COMPILED_PIPELINE_PATH:已编译的流水线 YAML 文件的路径。该路径可以是本地路径或 Cloud Storage URI。

    可选:如需指定模板的特定版本,请在路径中添加版本标记,格式如下:

    • COMPILED_PIPELINE_PATH:TAG,其中 TAG 是版本标记。

    • COMPILED_PIPELINE_PATH@SHA256_TAG,其中 SHA256_TAG 是流水线版本的 sha256 哈希值。

  • PIPELINE_ROOT_PATH:(可选)如需替换流水线定义中指定的流水线根路径,请指定流水线作业可以访问的路径,例如 Cloud Storage 存储桶 URI。

  • DISPLAY_NAME:流水线的名称。此名称将显示在 Google Cloud 控制台中。

  • SCHEDULE_NAME:流水线时间表的名称。您可以指定长度不超过 128 个 UTF-8 字符的名称。

  • CRON:Cron 时间表表达式,表示安排和执行流水线运行的频率。如需了解详情,请参阅 Cron

  • MAX_CONCURRENT_RUN_COUNT:时间表的并发运行次数上限。

  • MAX_RUN_COUNT:时间表创建的流水线运行次数上限,达到此上限后,时间表即完成。

使用 PipelineJobSchedule.create 创建时间表

使用以下示例使用 PipelineJobSchedule.create 方法安排流水线运行:

from google.cloud import aiplatform

pipeline_job = aiplatform.PipelineJob(
  template_path="COMPILED_PIPELINE_PATH",
  pipeline_root="PIPELINE_ROOT_PATH",
  display_name="DISPLAY_NAME",
)

pipeline_job_schedule = aiplatform.PipelineJobSchedule(
  pipeline_job=pipeline_job,
  display_name="SCHEDULE_NAME"
)

pipeline_job_schedule.create(
  cron="TZ=CRON",
  max_concurrent_run_count=MAX_CONCURRENT_RUN_COUNT,
  max_run_count=MAX_RUN_COUNT,
)

  • COMPILED_PIPELINE_PATH:已编译的流水线 YAML 文件的路径。该路径可以是本地路径或 Cloud Storage URI。

    可选:如需指定模板的特定版本,请在路径中添加版本标记,格式如下:

    • COMPILED_PIPELINE_PATH:TAG,其中 TAG 是版本标记。

    • COMPILED_PIPELINE_PATH@SHA256_TAG,其中 SHA256_TAG 是流水线版本的 sha256 哈希值。

  • PIPELINE_ROOT_PATH:(可选)如需替换流水线定义中指定的流水线根路径,请指定流水线作业可以访问的路径,例如 Cloud Storage 存储桶 URI。

  • DISPLAY_NAME:流水线的名称。此名称将显示在 Google Cloud 控制台中。

  • SCHEDULE_NAME:流水线时间表的名称。您可以指定长度不超过 128 个 UTF-8 字符的名称。

  • CRON:Cron 时间表表达式,表示安排和执行流水线运行的频率。如需了解详情,请参阅 Cron

  • MAX_CONCURRENT_RUN_COUNT:时间表的并发运行次数上限。

  • MAX_RUN_COUNT:时间表创建的流水线运行次数上限,达到此上限后,时间表即完成。

列出时间表

您可以查看为 Google Cloud 项目创建的流水线时间表列表。

控制台

您可以在 Google Cloud 控制台的时间表标签页上查看所选区域的流水线时间表。

如需查看流水线时间表的列表,请在 Google Cloud 控制台的 Vertex AI 部分中,转到流水线页面上的时间表标签页。

进入“时间表”

REST

如需列出项目中的流水线运行时间表,请使用 projects.locations.schedules.list 方法发送 GET 请求。

在使用任何请求数据之前,请先进行以下替换:

  • LOCATION:要在其中运行流水线的区域。如需详细了解支持 Vertex AI Pipelines 的区域,请参阅 Vertex AI 位置指南
  • PROJECT_ID:要在其中运行流水线的 Google Cloud 项目。
  • FILTER:(可选)用于过滤时间表列表的表达式。如需了解详情,请参阅以下主题...
  • PAGE_SIZE:(可选)每页列出的时间表数。
  • PAGE_TOKEN:(可选)标准列表页面令牌,通常通过 ListSchedulesResponse.next_page_token[] 从上一个 ScheduleService.ListSchedules[] 调用中获取。
  • ORDER_BY:(可选)以英文逗号分隔的字段列表,用于指示响应中时间表的排序顺序。

HTTP 方法和网址:

GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/schedules?FILTER&PAGE_SIZE&PAGE_TOKEN&ORDER_BY

如需发送请求,请选择以下方式之一:

curl

执行以下命令:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/schedules?FILTER&PAGE_SIZE&PAGE_TOKEN&ORDER_BY"

PowerShell

执行以下命令:

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

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/schedules?FILTER&PAGE_SIZE&PAGE_TOKEN&ORDER_BY" | Select-Object -Expand Content

您将看到如下所示的输出:

{
  "schedules": [
    SCHEDULE_ENTITY_OBJECT_1,
    SCHEDULE_ENTITY_OBJECT_2,
    ...
  ],
}

Python

使用以下示例按创建时间的降序列出项目中的所有时间表:

from google.cloud import aiplatform

aiplatform.PipelineJobSchedule.list(
  filter='display_name="DISPLAY_NAME"',
  order_by='create_time desc'
)

DISPLAY_NAME:流水线时间表的名称。您可以指定长度不超过 128 个 UTF-8 字符的名称。

检索时间表

您可以使用时间表 ID 检索流水线运行时间表。

REST

如需检索流水线运行时间表,请使用 projects.locations.schedules.get 方法和时间表 ID 发送 GET 请求。

在使用任何请求数据之前,请先进行以下替换:

  • LOCATION:要在其中运行流水线的区域。如需详细了解支持 Vertex AI Pipelines 的区域,请参阅 Vertex AI 位置指南
  • PROJECT_ID:要在其中运行流水线的 Google Cloud 项目。
  • SCHEDULE_ID:创建时间表时生成的唯一时间表 ID。

HTTP 方法和网址:

GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/schedules/SCHEDULE_ID

如需发送请求,请选择以下方式之一:

curl

执行以下命令:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/schedules/SCHEDULE_ID"

PowerShell

执行以下命令:

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

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/schedules/SCHEDULE_ID" | Select-Object -Expand Content

您应该会看到类似如下所示的输出。PIPELINE_JOB_CREATION_REQUEST 表示创建流水线作业的 API 请求。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/schedules/SCHEDULE_ID",
  "displayName": "schedule_display_name",
  "startTime": "2045-07-26T06:59:59Z",
  "state": "ACTIVE",
  "createTime": "20xx-01-01T00:00:00.000000Z",
  "nextRunTime": "2045-08-01T00:00:00Z",
  "cron": "TZ=America/New_York 0 0 1 * *",
  "maxConcurrentRunCount": "10",
  "createPipelineJobRequest": PIPELINE_JOB_CREATION_REQUEST
}

Python

使用以下示例,通过时间表 ID 检索流水线运行时间表:

from google.cloud import aiplatform

pipeline_job_schedule = aiplatform.PipelineJobSchedule.get(schedule_id=SCHEDULE_ID)

SCHEDULE_ID:创建时间表时生成的唯一时间表 ID。

暂停时间表

您可以通过指定时间表 ID 来暂停活跃的流水线时间表。暂停时间表后,其状态会从 ACTIVE 更改为 PAUSED

控制台

您可以暂停当前处于活跃状态的流水线运行时间表。

按照以下说明来暂停时间表:

  1. 在 Google Cloud 控制台的 Vertex AI 部分中,转到流水线页面上的时间表标签页。

    进入“时间表”

  2. 转到与您要暂停的时间表位于同一行的 选项菜单,然后点击暂停。您可以暂停状态列会显示有效的任何时间表。

REST

如需暂停项目中的流水线运行时间表,请使用 projects.locations.schedules.pause 方法发送 POST 请求。

在使用任何请求数据之前,请先进行以下替换:

  • LOCATION:流水线运行时间表目前所在的区域。如需详细了解支持 Vertex AI Pipelines 的区域,请参阅 Vertex AI 位置指南
  • PROJECT_ID:流水线运行时间表目前所在的 Google Cloud 项目。
  • SCHEDULE_ID:创建时间表时生成的唯一时间表 ID。

HTTP 方法和网址:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/schedules/SCHEDULE_ID:pause

如需发送请求,请选择以下方式之一:

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/schedules/SCHEDULE_ID:pause"

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/schedules/SCHEDULE_ID:pause" | Select-Object -Expand Content

您应该会收到一个成功的状态代码 (2xx) 和一个空响应。

Python

使用以下示例暂停流水线运行时间表:

from google.cloud import aiplatform

pipeline_job_schedule = aiplatform.PipelineJobSchedule.get(schedule_id=SCHEDULE_ID)

pipeline_job_schedule.pause()

SCHEDULE_ID:创建时间表时生成的唯一时间表 ID。

更新时间表

您可以更新为 Google Cloud 项目创建的现有流水线时间表。

更新时间表与删除并重新创建时间表类似。更新时间表后,系统会根据更新后的时间表的频率安排新的运行。这表示,系统不会再根据旧时间表创建任何新运行,并且当前已排入队列的所有运行都会被丢弃;不过,已通过旧时间表创建的流水线运行不会被暂停或取消。

REST

如需更新项目中的流水线运行时间表,请使用 projects.locations.schedules.patch 方法发送 PATCH 请求。

在使用任何请求数据之前,请先进行以下替换:

  • LOCATION:要在其中运行流水线的区域。如需详细了解支持 Vertex AI Pipelines 的区域,请参阅 Vertex AI 位置指南
  • PROJECT_ID:要在其中运行流水线的 Google Cloud 项目。
  • DISPLAY_NAME:流水线时间表的名称。您可以指定长度不超过 128 个 UTF-8 字符的名称。
  • MAX_CONCURRENT_RUN_COUNT:时间表的并发运行次数上限。

HTTP 方法和网址:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/schedules/SCHEDULE_ID?updateMask=display_name,max_run_count -d '{"display_name":"DISPLAY_NAME", "max_concurrent_run_count": MAX_CONCURRENT_RUN_COUNT}'

如需发送请求,请选择以下方式之一:

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/schedules/SCHEDULE_ID?updateMask=display_name,max_run_count -d '{"display_name":"DISPLAY_NAME", "max_concurrent_run_count": MAX_CONCURRENT_RUN_COUNT}'"

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/schedules/SCHEDULE_ID?updateMask=display_name,max_run_count -d '{"display_name":"DISPLAY_NAME", "max_concurrent_run_count": MAX_CONCURRENT_RUN_COUNT}'" | Select-Object -Expand Content

您应该会看到类似如下所示的输出。系统会根据更新后的时间表重新计算 NEXT_RUN_TIME。更新时间表后,START_TIME 保持不变。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/schedules/SCHEDULE_ID",
  "displayName": "DISPLAY_NAME",
  "startTime": "START_TIME",
  "state": "ACTIVE",
  "createTime": "2025-01-01T00:00:00.000000Z",
  "nextRunTime": NEXT_RUN_TIME,
  "maxConcurrentRunCount": "MAX_CONCURRENT_RUN_COUNT",
}

Python

使用以下示例使用 PipelineJobSchedule.update 方法安排流水线运行:

from google.cloud import aiplatform

pipeline_job_schedule = aiplatform.PipelineJobSchedule.get(schedule_id=SCHEDULE_ID)

pipeline_job_schedule.update(
  display_name='DISPLAY_NAME',
  max_concurrent_run_count=MAX_CONCURRENT_RUN_COUNT,
)

  • SCHEDULE_ID:创建时间表时生成的唯一时间表 ID。
  • DISPLAY_NAME:流水线时间表的名称。您可以指定长度不超过 128 个 UTF-8 字符的名称。
  • MAX_CONCURRENT_RUN_COUNT:时间表的并发运行次数上限。

恢复时间表

您可以通过指定时间表 ID 来恢复已暂停的流水线时间表。恢复时间表后,其状态会从 PAUSED 更改为 ACTIVE

控制台

您可以恢复当前已暂停的流水线运行时间表。

请按照以下说明恢复时间表:

  1. 在 Google Cloud 控制台的 Vertex AI 部分中,转到流水线页面上的时间表标签页。

    进入“时间表”

  2. 转到与要恢复的时间表位于同一行的 选项菜单,然后点击恢复。您可以恢复状态列会显示已暂停的任何时间表。

REST

如需恢复项目中的流水线运行时间表,请使用 projects.locations.schedules.resume 方法发送 POST 请求。

在使用任何请求数据之前,请先进行以下替换:

  • LOCATION:流水线运行时间表当前暂停的区域。如需详细了解支持 Vertex AI Pipelines 的区域,请参阅 Vertex AI 位置指南
  • PROJECT_ID:流水线运行时间表当前暂停的 Google Cloud 项目。
  • SCHEDULE_ID:创建时间表时生成的唯一时间表 ID。
  • CATCH_UP:(可选)指示暂停的时间表是否应回填跳过的流水线。如需回填和重新安排跳过的流水线运行,请输入以下内容:
    { "catch_up":true } 此参数默认设置为“false”。

HTTP 方法和网址:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/schedules/SCHEDULE_ID:resume -d 'CATCH_UP'

如需发送请求,请选择以下方式之一:

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/schedules/SCHEDULE_ID:resume -d 'CATCH_UP'"

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/schedules/SCHEDULE_ID:resume -d 'CATCH_UP'" | Select-Object -Expand Content

您应该会收到一个成功的状态代码 (2xx) 和一个空响应。

Python

使用以下示例恢复已暂停的流水线运行时间表:

from google.cloud import aiplatform

pipeline_job_schedule = aiplatform.PipelineJobSchedule.get(schedule_id=SCHEDULE_ID)

pipeline_job_schedule.resume(catch_up=CATCH_UP)
  • SCHEDULE_ID:创建时间表时生成的唯一时间表 ID。
  • CATCH_UP:(可选)指示暂停的时间表是否应回填跳过的流水线。如需回填和重新安排跳过的流水线运行,请输入以下内容:
    { "catch_up":true }

删除时间表

您可以通过指定时间表 ID 来删除流水线时间表。

控制台

无论流水线运行时间表状态如何,您都可以将其删除掉。

按照以下说明删除时间表。

  1. 在 Google Cloud 控制台的 Vertex AI 部分中,转到流水线页面上的时间表标签页。

    进入“时间表”

  2. 转到与要删除的时间表位于同一行的 选项菜单,然后点击删除

  3. 如需确认删除,请点击删除

REST

如需删除项目中的流水线运行时间表,请使用 projects.locations.schedules.delete 方法发送 DELETE 请求。

在使用任何请求数据之前,请先进行以下替换:

  • LOCATION:要在其中删除流水线时间表的区域。如需详细了解支持 Vertex AI Pipelines 的区域,请参阅 Vertex AI 位置指南
  • PROJECT_ID:要在其中删除时间表的 Google Cloud 项目。
  • SCHEDULE_ID:创建时间表时生成的唯一时间表 ID。

HTTP 方法和网址:

DELETE https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/schedules/SCHEDULE_ID

如需发送请求,请选择以下方式之一:

curl

执行以下命令:

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/schedules/SCHEDULE_ID"

PowerShell

执行以下命令:

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

Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/schedules/SCHEDULE_ID" | Select-Object -Expand Content

您应该会看到类似如下所示的输出。OPERATION_ID 表示删除操作。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeleteOperationMetadata",
    "genericMetadata": {
      "createTime": "20xx-01-01T00:00:00.000000Z",
      "updateTime": "20xx-01-01T00:00:00.000000Z"
    }
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.protobuf.Empty"
  }
}

Python

使用以下示例删除流水线运行时间表:

from google.cloud import aiplatform

pipeline_job_schedule = aiplatform.PipelineJobSchedule.get(schedule_id=SCHEDULE_ID)

pipeline_job_schedule.delete()

SCHEDULE_ID:创建时间表时生成的唯一时间表 ID。

列出按时间表创建的所有流水线作业

您可以通过指定时间表 ID 来查看由时间表创建的所有流水线作业的列表。

REST

如需列出由流水线时间表创建的所有流水线运行,请使用 projects.locations.pipelineJobs 方法发送 GET 请求。

在使用任何请求数据之前,请先进行以下替换:

  • LOCATION:要在其中运行流水线的区域。如需详细了解支持 Vertex AI Pipelines 的区域,请参阅 Vertex AI 位置指南
  • PROJECT_ID:要在其中运行流水线的 Google Cloud 项目。
  • SCHEDULE_ID:创建时间表时生成的唯一时间表 ID。

HTTP 方法和网址:

GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/pipelineJobs?filter=schedule_name=projects/PROJECT/locations/LOCATION/schedules/SCHEDULE_ID

如需发送请求,请选择以下方式之一:

curl

执行以下命令:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/pipelineJobs?filter=schedule_name=projects/PROJECT/locations/LOCATION/schedules/SCHEDULE_ID"

PowerShell

执行以下命令:

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

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/pipelineJobs?filter=schedule_name=projects/PROJECT/locations/LOCATION/schedules/SCHEDULE_ID" | Select-Object -Expand Content

您应该会看到类似如下所示的输出结果。

{
  "pipelineJobs": [
    PIPELINE_JOB_ENTITY_1,
    PIPELINE_JOB_ENTITY_2,
    ...
  ],
}

Python

使用以下示例按创建时间的降序列出根据时间表创建的所有流水线作业:

from google.cloud import aiplatform

pipeline_job_schedule = aiplatform.PipelineJobSchedule.get(schedule_id=SCHEDULE_ID)

pipeline_job_schedule.list_jobs(order_by='create_time_desc')

SCHEDULE_ID:创建时间表时生成的唯一时间表 ID。