Programa una ejecución de canalización con la API de Scheduler

Puedes programar ejecuciones de canalizaciones únicas o recurrentes en Vertex AI mediante la API de Scheduler. Esto te permite implementar el entrenamiento continuo en tu proyecto.

Después de crear un programa, puede tener uno de los siguientes estados:

  • ACTIVE: Un programa activo crea ejecuciones de canalización de forma continua según la frecuencia configurada con la expresión de programa cron. Un programa se activa en su hora de inicio y permanece en ese estado hasta la hora de finalización especificada o hasta que lo pausas.

  • PAUSED: Un programa en pausa no crea ejecuciones de canalización. Puedes reanudar un programa en pausa para volver a activarlo. Cuando reanudas un programa en pausa, puedes usar el parámetro catch_up para especificar si las ejecuciones omitidas (ejecuciones que se hubieran programado si hubiese estado activo el programa) deben reprogramarse y enviarse con el programa más antiguo posible.

  • COMPLETED: Un programa completado ya no crea nuevas ejecuciones de canalizaciones. Un programa se completa según la hora de finalización especificada.

Puedes usar la API de Scheduler para hacer lo siguiente:

Antes de comenzar

Antes de programar una ejecución de canalización con la API de Scheduler, usa las siguientes instrucciones para configurar tu proyecto de Google Cloud y el entorno de desarrollo en la consola de Google Cloud.

  1. Otorga al menos uno de los siguientes permisos de IAM al usuario o la cuenta de servicio para usar la API de Scheduler:

    • roles/aiplatform.admin
    • roles/aiplatform.user
  2. Crea y compila una canalización. Para obtener más información, consulta Crea una canalización.

Crear una programación

Puedes crear un programa único o recurrente.

Console

Usa las siguientes instrucciones para crear un programa con la consola de Google Cloud. Si ya existe un programa para el proyecto y la región, usa las instrucciones en Crea una ejecución de canalización.

Usa las siguientes instrucciones para crear un programa de canalización:

  1. En la consola de Google Cloud, en la sección Vertex AI, ve a la pestaña Programas en la página Canalizaciones.

    Ir a Programas

  2. Haz clic en Crear una ejecución programada para abrir el panel Crear una ejecución de canalización.

  3. Selecciona una de las siguientes opciones para especificar estos detalles de ejecución:

    • Para crear una ejecución de la canalización basada en una plantilla de canalización existente, haz clic en Seleccionar una canalización existente e ingresa los siguientes detalles:

      1. Selecciona el repositorio que contiene el archivo de definición de la canalización o del componente.

      2. Selecciona la canalización o componente y la versión.

    • Para subir una definición de canalización compilada, haz clic en Subir archivo y, luego, ingresa los siguientes detalles:

      1. Haz clic en Explorar para abrir el selector de archivos. Navega hasta el archivo YAML de canalización compilado que deseas ejecutar, selecciona la canalización y haz clic en Abrir.

      2. El nombre de la canalización o del componente muestra el nombre especificado en la definición de la canalización de forma predeterminada. De manera opcional, especifica un nombre de la canalización diferente.

    • Para importar un archivo de definición de canalización desde Cloud Storage, haz clic en Importar desde Cloud Storage e ingresa los siguientes detalles:

      1. Haz clic en Explorar para navegar al bucket de Cloud Storage que contiene el objeto de definición de la canalización, selecciona el archivo y, luego, haz clic en Seleccionar.

      2. Especifica el nombre de la canalización o del componente.

  4. Especifica un nombre de ejecución para identificar de manera única la ejecución de la canalización.

  5. Especifica el programa de ejecución de la siguiente manera:

    1. Selecciona Recurrente.

    2. En Hora de inicio, especifica cuándo se activa el programa.

      • Si quieres programar la primera ejecución para que se produzca de inmediato cuando se cree el programa, selecciona De inmediato.

      • A fin de programar la primera ejecución para que se realice en una hora y una fecha específicas, selecciona Activado.

    3. En el campo Frecuencia, especifica la frecuencia para programar y ejecutar las ejecuciones de canalización, mediante una expresión de programa cron basada en unix-cron.

    4. En Finaliza, especifica cuándo finaliza el programa.

      • Para indicar que el programa crea ejecuciones de canalizaciones de forma indefinida, selecciona Nunca.

      • Para indicar que el programa finaliza en una fecha y hora específicas, selecciona Activado y especifica la fecha y hora de finalización del programa.

  6. Opcional: Para especificar una cuenta de servicio personalizada, una clave de encriptación administrada por el cliente (CMEK) o una red de VPC con intercambio de tráfico, haz clic en Opciones avanzadas y especifica una cuenta de servicio, CMEK o un nombre de red de VPC con intercambio de tráfico.

  7. Haz clic en Continuar y especifica la Configuración del entorno de ejecución para la canalización.

  8. Haz clic en Enviar para crear el programa de ejecución de canalización.

REST

Para crear un programa de ejecución de canalización, envía una solicitud POST mediante el método projects.locations.schedules.create.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION: Es la región en la que deseas ejecutar la canalización. Para obtener más información sobre las regiones en las que está disponible Vertex AI Pipelines, consulta la guía de ubicaciones de Vertex AI.
  • PROJECT_ID: El proyecto de Google Cloud en el que deseas ejecutar la canalización.
  • DISPLAY_NAME: El nombre del programa de canalización. Puedes especificar un nombre que tenga una longitud máxima de 128 caracteres UTF-8.
  • START_TIME: Marca de tiempo después de la cual se puede programar la primera ejecución, por ejemplo, 2045-07-26T00:00:00Z. Si no especificas este parámetro, se usa la marca de tiempo correspondiente a la fecha y la hora de creación del programa como el valor predeterminado.
  • END_TIME: Es la marca de tiempo después de la cual las ejecuciones de canalizaciones ya no están programadas. Cuando se alcanza END_TIME, el estado del programa cambia a COMPLETED. Si no especificas este parámetro, el programa continúa ejecutando trabajos de canalización nuevos de forma indefinida hasta que pausas o borras el programa.
  • CRON_EXPRESSION: expresión de programa cron que representa la frecuencia para programar y ejecutar ejecuciones de canalización. Para obtener más información, consulta cron.
  • MAX_CONCURRENT_RUN_COUNT: La cantidad máxima de ejecuciones simultáneas para el programa.
  • API_REQUEST_TEMPLATE: Es la plantilla de solicitud a la API PipelineService.CreatePipelineJob que se usa para ejecutar las ejecuciones de canalización programadas. Para obtener más información sobre los parámetros de la plantilla de solicitud a la API, consulta la documentación de pipelineJobs.create. Ten en cuenta que no puedes especificar el parámetro pipelineJobId en esta plantilla, ya que la API de Scheduler no admite este parámetro.

HTTP method and URL:

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

Cuerpo JSON de la solicitud:

{
  "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
}

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

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

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$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

Deberías ver un resultado similar al siguiente. Puedes usar el SCHEDULE_ID de la respuesta para recuperar, pausar, reanudar o borrar el programa. PIPELINE_JOB_CREATION_REQUEST representa la solicitud a la API para crear el trabajo de canalización.

{
  "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

Puedes crear un programa de ejecución de canalización de las siguientes maneras:

  • Crea un programa basado en un PipelineJob mediante el método PipelineJob.create_schedule.

  • Crea un programa con el método PipelineJobSchedule.create.

Cuando creas un programa de ejecución de canalización, también puedes pasar los siguientes marcadores de posición compatibles con el SDK de KFP como entradas:

  • {{$.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}}

Para obtener más información, consulta los Tipos de entradas especiales en la documentación de Kubeflow Pipelines v2.

Crea un programa desde un PipelineJob

Usa la siguiente muestra para programar ejecuciones de canalización con el método 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: Es la ruta de acceso al archivo YAML de canalización compilado. Puede ser una ruta local o un URI de Cloud Storage.

    Opcional: Para especificar una versión en particular de una plantilla, incluye la etiqueta de versión junto con la ruta en cualquiera de los siguientes formatos:

    • COMPILED_PIPELINE_PATH:TAG, donde TAG es la etiqueta de la versión.

    • COMPILED_PIPELINE_PATH@SHA256_TAG, donde SHA256_TAG es el valor de hash sha256 de la versión de la canalización.

  • PIPELINE_ROOT_PATH: (opcional) para anular la ruta de acceso raíz de la canalización especificada en la definición de la canalización, indica una ruta de acceso a la que pueda acceder el trabajo de canalización, como un URI de bucket de Cloud Storage.

  • DISPLAY_NAME: El nombre de la canalización. Aparecerá en la consola de Google Cloud.

  • SCHEDULE_NAME: El nombre del programa de canalización. Puedes especificar un nombre que tenga una longitud máxima de 128 caracteres UTF-8.

  • CRON: expresión de programa cron que representa la frecuencia para programar y ejecutar ejecuciones de canalización. Para obtener más información, consulta Cron.

  • MAX_CONCURRENT_RUN_COUNT: La cantidad máxima de ejecuciones simultáneas para el programa.

  • MAX_RUN_COUNT: La cantidad máxima de ejecuciones de canalizaciones que crea la programación después de que se completa.

Crear una programación con PipelineJobSchedule.create

Usa la siguiente muestra para programar ejecuciones de canalización con el método 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: Es la ruta de acceso al archivo YAML de canalización compilado. Puede ser una ruta local o un URI de Cloud Storage.

    Opcional: Para especificar una versión en particular de una plantilla, incluye la etiqueta de versión junto con la ruta en cualquiera de los siguientes formatos:

    • COMPILED_PIPELINE_PATH:TAG, donde TAG es la etiqueta de la versión.

    • COMPILED_PIPELINE_PATH@SHA256_TAG, en el que SHA256_TAG es el valor de hash SHA256 de la versión de la canalización.

  • PIPELINE_ROOT_PATH: (opcional) para anular la ruta de acceso raíz de la canalización especificada en la definición de la canalización, indica una ruta de acceso a la que pueda acceder el trabajo de canalización, como un URI de bucket de Cloud Storage.

  • DISPLAY_NAME: El nombre de la canalización. Aparecerá en la consola de Google Cloud.

  • SCHEDULE_NAME: El nombre del programa de canalización. Puedes especificar un nombre que tenga una longitud máxima de 128 caracteres UTF-8.

  • CRON: expresión de programa cron que representa la frecuencia para programar y ejecutar ejecuciones de canalización. Para obtener más información, consulta Cron.

  • MAX_CONCURRENT_RUN_COUNT: La cantidad máxima de ejecuciones simultáneas para el programa.

  • MAX_RUN_COUNT: La cantidad máxima de ejecuciones de canalizaciones que crea la programación después de que se completa.

Enumera programas

Puedes ver la lista de programas de canalización creados para tu proyecto de Google Cloud.

Console

Puedes ver la lista de programas de canalización en la pestaña Programas de la consola de Google Cloud para la región seleccionada.

Para ver la lista de programas de canalización, en la consola de Google Cloud, en la sección Vertex AI, ve a la pestaña Programas en la página Canalizaciones.

Ir a Programas

REST

Para enumerar los programas de ejecución de las canalizaciones en tu proyecto, envía una solicitud GET con el método projects.locations.schedules.list.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION: Es la región en la que deseas ejecutar la canalización. Para obtener más información sobre las regiones en las que está disponible Vertex AI Pipelines, consulta la guía de ubicaciones de Vertex AI.
  • PROJECT_ID: El proyecto de Google Cloud en el que deseas ejecutar la canalización.
  • FILTER: (opcional) expresión para filtrar la lista de programas. Para obtener más información, consulta …
  • PAGE_SIZE: (opcional) la cantidad de programas que se enumerarán por página.
  • PAGE_TOKEN: (opcional) el token de página de lista estándar, que se suele obtener a través de ListSchedulesResponse.next_page_token[] de una llamada ScheduleService.ListSchedules[] anterior.
  • ORDER_BY: (opcional) lista de campos separados por comas que indica el orden de clasificación de los programas en la respuesta.

HTTP method and URL:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el siguiente comando:

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

Ejecuta el siguiente comando:

$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

Deberías ver un resultado similar al siguiente:

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

Python

Usa la siguiente muestra para enumerar todos los programas en tu proyecto en el orden descendente de sus horas de creación:

from google.cloud import aiplatform

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

DISPLAY_NAME: El nombre del programa de canalización. Puedes especificar un nombre que tenga una longitud máxima de 128 caracteres UTF-8.

Recupera un programa

Puedes recuperar un programa de ejecución de la canalización con el ID de programa.

REST

Para recuperar un programa de ejecución de canalización, envía una solicitud GET mediante el método projects.locations.schedules.get y el ID de programa.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION: Es la región en la que deseas ejecutar la canalización. Para obtener más información sobre las regiones en las que está disponible Vertex AI Pipelines, consulta la guía de ubicaciones de Vertex AI.
  • PROJECT_ID: El proyecto de Google Cloud en el que deseas ejecutar la canalización.
  • SCHEDULE_ID: ID de programa único generado mientras se creaba el programa.

HTTP method and URL:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el siguiente comando:

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

Ejecuta el siguiente comando:

$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

Deberías ver un resultado similar al siguiente. PIPELINE_JOB_CREATION_REQUEST representa la solicitud a la API para crear el trabajo de canalización.

{
  "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

Usa el siguiente ejemplo para recuperar una programación de ejecución de canalización con el ID de programación:

from google.cloud import aiplatform

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

SCHEDULE_ID: ID de programa único generado mientras se creaba el programa.

Pausa un programa

Puedes pausar un programa de canalización activa si especificas el ID de programa. Cuando pausas un programa, su estado cambia de ACTIVE a PAUSED.

Console

Puedes pausar un programa de ejecución de canalización que está activa en este momento.

Usa las siguientes instrucciones para pausar un programa:

  1. En la consola de Google Cloud, en la sección Vertex AI, ve a la pestaña Programas en la página Canalizaciones.

    Ir a Programas

  2. Ve al menú de opciones que se encuentra en la misma fila que el programa que deseas pausar y, luego, haz clic en Pausar. Puedes pausar cualquier programa en el que la columna Estado muestre Activo.

REST

Para pausar un programa de ejecución de canalización en tu proyecto, envía una solicitud POST mediante el método projects.locations.schedules.pause.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION: Es la región en la que el programa de ejecución de la canalización está activo. Para obtener más información sobre las regiones en las que está disponible Vertex AI Pipelines, consulta la guía de ubicaciones de Vertex AI.
  • PROJECT_ID: Es el proyecto de Google Cloud en el que el programa de ejecución de la canalización está activo.
  • SCHEDULE_ID: ID de programa único generado mientras se creaba el programa.

HTTP method and URL:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el siguiente comando:

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

Ejecuta el siguiente comando:

$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

Deberías recibir un código de estado exitoso (2xx) y una respuesta vacía.

Python

Usa el siguiente ejemplo para pausar una programación de ejecución de la canalización:

from google.cloud import aiplatform

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

pipeline_job_schedule.pause()

SCHEDULE_ID: ID de programa único generado mientras se creaba el programa.

Actualizar un programa

Puedes actualizar un programa de canalización existente que se creó para tu proyecto de Google Cloud.

Actualizar un programa es similar a borrarlo y volver a crearlo. Cuando actualizas un programa, se programan ejecuciones nuevas según la frecuencia del programa actualizado. Las ejecuciones nuevas ya no se crean según la programación anterior y se descartan las ejecuciones en cola. Las ejecuciones de canalizaciones que ya se crearon con la programación anterior no se detienen ni se cancelan.

REST

Para actualizar una programación de ejecución de canalización en tu proyecto, envía una solicitud PATCH con el método projects.locations.schedules.patch.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION: Es la región en la que deseas ejecutar la canalización. Para obtener más información sobre las regiones en las que está disponible Vertex AI Pipelines, consulta la guía de ubicaciones de Vertex AI.
  • PROJECT_ID: El proyecto de Google Cloud en el que deseas ejecutar la canalización.
  • DISPLAY_NAME: El nombre del programa de canalización. Puedes especificar un nombre que tenga una longitud máxima de 128 caracteres UTF-8.
  • MAX_CONCURRENT_RUN_COUNT: La cantidad máxima de ejecuciones simultáneas para el programa.

HTTP method and URL:

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}'

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el siguiente comando:

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

Ejecuta el siguiente comando:

$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

Deberías ver un resultado similar al siguiente. En función de la actualización, se vuelve a calcular el NEXT_RUN_TIME. Cuando actualizas la programación, el START_TIME permanece sin cambios.

{
  "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

Usa la siguiente muestra para programar ejecuciones de canalización con el método 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 de programa único generado mientras se creaba el programa.
  • DISPLAY_NAME: El nombre del programa de canalización. Puedes especificar un nombre que tenga una longitud máxima de 128 caracteres UTF-8.
  • MAX_CONCURRENT_RUN_COUNT: La cantidad máxima de ejecuciones simultáneas para el programa.

Reanuda un programa

Puedes reanudar un programa de canalización en pausa si especificas el ID de programa. Cuando reanudas un programa, su estado cambia de PAUSED a ACTIVE.

Console

Puedes reanudar un programa de ejecución de canalización que esté pausado en este momento.

Usa las siguientes instrucciones para reanudar un programa:

  1. En la consola de Google Cloud, en la sección Vertex AI, ve a la pestaña Programas en la página Canalizaciones.

    Ir a Programas

  2. Ve al menú de opciones que se encuentra en la misma fila que el programa que deseas reanudar y, luego, haz clic en Reanudar. Puedes reanudar cualquier programa en el que la columna Estado muestre Pausado.

REST

Para reanudar un programa de ejecución de canalización en tu proyecto, envía una solicitud POST mediante el método projects.locations.schedules.resume.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION: Es la región en la que está pausado el programa de ejecución de la canalización. Para obtener más información sobre las regiones en las que está disponible Vertex AI Pipelines, consulta la guía de ubicaciones de Vertex AI.
  • PROJECT_ID: Es el proyecto de Google Cloud en el que el programa de ejecución de la canalización está pausado.
  • SCHEDULE_ID: ID de programa único generado mientras se creaba el programa.
  • CATCH_UP: (Opcional) indica si el programa pausado debe reabastecer las ejecuciones de canalizaciones omitidas. Para reabastecer y reprogramar las ejecuciones de canalización omitidas, ingresa lo siguiente:
    { "catch_up":true } Este parámetro está configurado como "false" de forma predeterminada.

HTTP method and URL:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el siguiente comando:

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

Ejecuta el siguiente comando:

$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

Deberías recibir un código de estado exitoso (2xx) y una respuesta vacía.

Python

Usa el siguiente ejemplo para reanudar una programación de ejecución de canalización en pausa:

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 de programa único generado mientras se creaba el programa.
  • CATCH_UP: (Opcional) indica si el programa pausado debe reabastecer las ejecuciones de canalizaciones omitidas. Para reabastecer y reprogramar las ejecuciones de canalizaciones omitidas, ingresa lo siguiente:
    { "catch_up":true }

Borra un programa

Puedes borrar un programa de canalización si especificas el ID de programa.

Console

Puedes borrar un programa de ejecución de canalización sin importar su estado.

Usa las siguientes instrucciones para borrar un programa:

  1. En la consola de Google Cloud, en la sección Vertex AI, ve a la pestaña Programas en la página Canalizaciones.

    Ir a Programas

  2. Ve al menú de opciones que está en la misma fila que el programa que deseas borrar y, luego, haz clic en Borrar.

  3. Para confirmar la eliminación, haz clic en Borrar.

REST

Para borrar un programa de ejecución de canalización en tu proyecto, envía una solicitud DELETE con el método projects.locations.schedules.delete.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION: Es la región en la que deseas borrar el programa de canalización. Para obtener más información sobre las regiones en las que está disponible Vertex AI Pipelines, consulta la guía de ubicaciones de Vertex AI.
  • PROJECT_ID: El proyecto de Google Cloud en el que deseas borrar el programa.
  • SCHEDULE_ID: El ID de programa único que se generó cuando se creó el programa.

HTTP method and URL:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el siguiente comando:

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

Ejecuta el siguiente comando:

$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

Deberías ver un resultado similar al siguiente. OPERATION_ID representa la operación de eliminación.

{
  "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

Usa el siguiente ejemplo para borrar una programación de ejecución de canalización:

from google.cloud import aiplatform

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

pipeline_job_schedule.delete()

SCHEDULE_ID: ID de programa único generado mientras se creaba el programa.

Enumera todos los trabajos de canalización creados por un programa

Puedes ver una lista de todos los trabajos de canalización que creó un programa si especificas el ID de programa.

REST

Para enumerar todas las ejecuciones de canalizaciones que creó un programa de canalización, envía una solicitud GET mediante el método projects.locations.pipelineJobs.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION: Es la región en la que deseas ejecutar la canalización. Para obtener más información sobre las regiones en las que está disponible Vertex AI Pipelines, consulta la guía de ubicaciones de Vertex AI.
  • PROJECT_ID: El proyecto de Google Cloud en el que deseas ejecutar la canalización.
  • SCHEDULE_ID: ID de programa único generado mientras se creaba el programa.

HTTP method and URL:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el siguiente comando:

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

Ejecuta el siguiente comando:

$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

Deberías ver un resultado similar al siguiente.

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

Python

Usa la siguiente muestra para enumerar todos los trabajos de canalización creados por una programación en orden descendente según sus horas de creación:

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 de programa único generado mientras se creaba el programa.