Puedes programar ejecuciones de una sola vez o periódicas de la canalización en Vertex AI mediante la API Scheduler. Esto te permite implementar el entrenamiento continuo en tu proyecto.
Después de crear una programación, puede tener uno de los siguientes estados:
ACTIVE
: una programación activa crea continuamente ejecuciones de la canalización según la frecuencia configurada mediante la expresión de programación cron. Una programación se activa a la hora de inicio y permanece en ese estado hasta la hora de finalización especificada o hasta que la pauses.PAUSED
: Una programación pausada no crea ejecuciones de flujos de procesamiento. Puedes reanudar una programación en pausa para volver a activarla. Cuando reanudas una programación pausada, puedes usar el parámetrocatch_up
para especificar si las ejecuciones omitidas (las que se habrían programado si la programación hubiera estado activa) deben reprogramarse y enviarse lo antes posible.COMPLETED
: una programación completada ya no crea nuevas ejecuciones de flujos de procesamiento. Una programación se completa según la hora de finalización especificada.
Puedes usar la API Scheduler para hacer lo siguiente:
Antes de empezar
Antes de programar la ejecución de una canalización con la API Scheduler, sigue estas instrucciones para configurar tu Google Cloud proyecto y tu entorno de desarrollo en la Google Cloud consola.
Concede al usuario o a la cuenta de servicio al menos uno de los siguientes permisos de IAM para usar la API Scheduler:
roles/aiplatform.admin
roles/aiplatform.user
Crea y compila un flujo de procesamiento. Para obtener más información, consulta Crear una canalización.
Crear programación
Puedes crear una programación única o periódica.
Consola
Sigue estas instrucciones para crear una programación con la consola Google Cloud . Si ya hay una programación para el proyecto y la región, sigue las instrucciones de Crear una ejecución de una canalización.
Sigue estas instrucciones para crear una programación de una canalización:
En la Google Cloud consola, en la sección Vertex AI, ve a la pestaña Programaciones de la página Pipelines.
Haz clic en Crear ejecución programada para abrir el panel Crear ejecución de la canalización.
Especifica los detalles de la ejecución seleccionando una de las siguientes opciones:
Para crear una ejecución de una canalización a partir de una plantilla de canalización, haga clic en Seleccionar de las canalizaciones y proporcione los siguientes detalles:
Seleccione el repositorio que contenga el archivo de definición de la canalización o del componente.
Seleccione la pipeline o el componente y la versión.
Para subir una definición de una canalización compilada, haga clic en Subir archivo e introduzca los siguientes detalles:
Haz clic en Buscar para abrir el selector de archivos. Ve al archivo YAML de la canalización compilada que quieras ejecutar, selecciona la canalización y haz clic en Abrir.
En Nombre del flujo de procesamiento o del componente se muestra el nombre especificado en la definición del flujo de procesamiento de forma predeterminada. También puedes especificar otro nombre de flujo de procesamiento.
Para importar un archivo de definición de una canalización desde Cloud Storage, haga clic en Importar desde Cloud Storage e introduzca los siguientes detalles:
Haz clic en Buscar para ir al segmento de Cloud Storage que contiene el objeto de definición de la canalización, selecciona el archivo y, a continuación, haz clic en Seleccionar.
Especifica el nombre del componente o del flujo de procesamiento.
Especifica un nombre de ejecución para identificar de forma única la ejecución de la canalización.
Especifica la Programación de ejecución de la siguiente manera:
Selecciona Recurrente.
En Hora de inicio, especifica cuándo se activará la programación.
Para programar la primera ejecución inmediatamente después de crear la programación, selecciona Inmediatamente.
Para programar la primera ejecución para que se produzca a una hora y una fecha específicas, selecciona Activado.
En el campo Frecuencia, especifica la frecuencia con la que se programarán y ejecutarán las ejecuciones de la canalización. Para ello, usa una expresión de programación cron basada en cron de Unix.
En Finaliza, especifica cuándo termina la programación.
Para indicar que la programación crea ejecuciones de la canalización indefinidamente, selecciona Nunca.
Para indicar que la programación finaliza en una fecha y hora concretas, selecciona Activado y especifica la fecha y la hora de finalización de la programación.
Opcional: Para especificar una cuenta de servicio personalizada, una clave de cifrado gestionada por el cliente (CMEK) o una red de VPC emparejada, haz clic en Opciones avanzadas y especifica una cuenta de servicio, una CMEK o un nombre de red de VPC emparejada.
Haga clic en Continuar y especifique la configuración de tiempo de ejecución de la canalización.
Haz clic en Enviar para crear la programación de la ejecución de la canalización.
REST
Para crear una programación de ejecución de una canalización, envía una solicitud POST mediante el método projects.locations.schedules.create.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION: la región en la que quieres 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 Google Cloud proyecto en el que quieres ejecutar la canalización.
- DISPLAY_NAME: el nombre de la programación del flujo de procesamiento. Puede especificar un nombre con una longitud máxima de 128 caracteres UTF-8.
- START_TIME: marca de tiempo a partir de la cual se puede programar la primera ejecución. Por ejemplo,
2045-07-26T00:00:00Z
. Si no especifica este parámetro, se usará como valor predeterminado la marca de tiempo correspondiente a la fecha y la hora en las que cree la programación. - END_TIME: marca de tiempo después de la cual ya no se programan las ejecuciones del flujo de procesamiento.
Una vez que se alcanza el END_TIME, el estado de la programación cambia a
COMPLETED
. Si no especifica este parámetro, la programación seguirá ejecutando nuevas tareas de canalización indefinidamente hasta que la ponga en pausa o la elimine. - CRON_EXPRESSION: expresión de programación cron que representa la frecuencia con la que se programan y ejecutan las ejecuciones de la canalización. Para obtener más información, consulta cron.
- MAX_CONCURRENT_RUN_COUNT: número máximo de ejecuciones simultáneas de la programación.
- API_REQUEST_TEMPLATE: plantilla de solicitud de API
PipelineService.CreatePipelineJob
que se usa para ejecutar las ejecuciones de la canalización programadas. Para obtener más información sobre los parámetros de la plantilla de solicitud de la API, consulta la documentación depipelineJobs.create
. Ten en cuenta que no puedes especificar el parámetropipelineJobId
en esta plantilla, ya que la API Scheduler no admite este parámetro.
Método HTTP y 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ía ver un resultado similar al siguiente. Puedes usar el SCHEDULE_ID de la respuesta para recuperar, pausar, reanudar o eliminar la programación. PIPELINE_JOB_CREATION_REQUEST representa la solicitud de API para crear el trabajo de la 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 una programación de ejecuciones de una canalización de las siguientes formas:
Crea una programación basada en un
PipelineJob
mediante el métodoPipelineJob.create_schedule
.Crear una programación con el método
PipelineJobSchedule.create
.
Al crear una programación de ejecución de la canalización, también puedes transferir los siguientes marcadores de posición admitidos por 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 Tipos de entrada especiales en la documentación de Kubeflow Pipelines v2.
Crear una programación a partir de una PipelineJob
Usa el siguiente ejemplo para programar ejecuciones de la 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: la ruta al archivo YAML de la canalización compilada. Puede ser una ruta local o un URI de Cloud Storage.
Opcional: Para especificar una versión concreta de una plantilla, incluya la etiqueta de versión junto con la ruta en uno de los siguientes formatos:
COMPILED_PIPELINE_PATH:TAG
, donde TAG es la etiqueta de versión.COMPILED_PIPELINE_PATH@SHA256_TAG
, donde SHA256_TAG es el valor hashsha256
de la versión de la canalización.
PIPELINE_ROOT_PATH: (opcional) Para anular la ruta raíz de la canalización especificada en la definición de la canalización, especifica una ruta a la que pueda acceder el trabajo de canalización, como un URI de segmento de Cloud Storage.
DISPLAY_NAME: el nombre del flujo de trabajo. Se mostrará en la consola de Google Cloud .
SCHEDULE_NAME: el nombre de la programación del flujo de procesamiento. Puede especificar un nombre con una longitud máxima de 128 caracteres UTF-8.
CRON: expresión de programación cron que representa la frecuencia con la que se programan y ejecutan las ejecuciones del flujo de procesamiento. Para obtener más información, consulta Cron.
MAX_CONCURRENT_RUN_COUNT: número máximo de ejecuciones simultáneas de la programación.
MAX_RUN_COUNT: número máximo de ejecuciones de la canalización que crea la programación antes de completarse.
Crear una programación con PipelineJobSchedule.create
Usa el siguiente ejemplo para programar ejecuciones de la 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: la ruta al archivo YAML de la canalización compilada. Puede ser una ruta local o un URI de Cloud Storage.
Opcional: Para especificar una versión concreta de una plantilla, incluya la etiqueta de versión junto con la ruta en uno de los siguientes formatos:
COMPILED_PIPELINE_PATH:TAG, donde TAG es la etiqueta de 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 raíz de la canalización especificada en la definición de la canalización, especifica una ruta a la que pueda acceder el trabajo de canalización, como un URI de segmento de Cloud Storage.
DISPLAY_NAME: el nombre del flujo de trabajo. Se mostrará en la consola de Google Cloud .
SCHEDULE_NAME: el nombre de la programación del flujo de procesamiento. Puede especificar un nombre con una longitud máxima de 128 caracteres UTF-8.
CRON: expresión de programación cron que representa la frecuencia con la que se programan y ejecutan las ejecuciones del flujo de procesamiento. Para obtener más información, consulta Cron.
MAX_CONCURRENT_RUN_COUNT: número máximo de ejecuciones simultáneas de la programación.
MAX_RUN_COUNT: número máximo de ejecuciones de la canalización que crea la programación antes de completarse.
Mostrar programaciones
Puedes ver la lista de programaciones de la canalización creadas para tu Google Cloud proyecto.
Consola
Puedes ver la lista de programaciones de la canalización en la pestaña Programaciones de la Google Cloud consola de la región seleccionada.
Para ver la lista de programaciones de canalizaciones, en la Google Cloud consola, en la sección Vertex AI, ve a la pestaña Programaciones de la página Canalizaciones.
REST
Para ver una lista de las programaciones de ejecuciones de canalizaciones de tu proyecto, envía una solicitud GET mediante el método projects.locations.schedules.list.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION: la región en la que quieres 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 Google Cloud proyecto en el que quieres ejecutar la canalización.
- FILTER: (opcional) expresión para filtrar la lista de programaciones. Para obtener más información, consulta ...
- PAGE_SIZE: (opcional) Número de programaciones que se mostrarán por página.
- PAGE_TOKEN: (opcional) Token de página de lista estándar, que normalmente se obtiene mediante
ListSchedulesResponse.next_page_token[]
de una llamadaScheduleService.ListSchedules[]
anterior. - ORDER_BY: (opcional) lista de campos separados por comas que indica el orden de clasificación de las agendas en la respuesta.
Método HTTP y 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 comando siguiente:
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 comando siguiente:
$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ía aparecer lo siguiente:
{ "schedules": [ SCHEDULE_ENTITY_OBJECT_1, SCHEDULE_ENTITY_OBJECT_2, ... ], }
Python
Usa el siguiente ejemplo para enumerar todas las programaciones de tu proyecto en orden descendente según su hora 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 de la programación del flujo de procesamiento. Puede especificar un nombre con una longitud máxima de 128 caracteres UTF-8.
Consultar una programación
Puede recuperar una programación de ejecución de una canalización mediante el ID de la programación.
REST
Para obtener una programación de ejecución de una canalización, envía una solicitud GET mediante el método projects.locations.schedules.get y el ID de la programación.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION: la región en la que quieres 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 Google Cloud proyecto en el que quieres ejecutar la canalización.
- SCHEDULE_ID: ID de programación único generado al crear la programación.
Método HTTP y 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 comando siguiente:
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 comando siguiente:
$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ía ver un resultado similar al siguiente. PIPELINE_JOB_CREATION_REQUEST representa la solicitud de API para crear el trabajo de la 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 obtener una programación de ejecución de una canalización mediante el ID de programación:
from google.cloud import aiplatform
pipeline_job_schedule = aiplatform.PipelineJobSchedule.get(schedule_id=SCHEDULE_ID)
SCHEDULE_ID: ID de programación único generado al crear la programación.
Pausar una programación
Para pausar una programación de canalización activa, especifica el ID de la programación. Cuando pausas una programación, su estado cambia de ACTIVE
a PAUSED
.
Consola
Puedes pausar una programación de ejecución de una canalización que esté activa.
Sigue estas instrucciones para pausar una programación:
En la Google Cloud consola, en la sección Vertex AI, ve a la pestaña Programaciones de la página Pipelines.
Ve al menú de opciones
que está en la misma fila que la programación que quieres pausar y, a continuación, haz clic en Pausar. Puede pausar cualquier programación en la que la columna Estado muestre Activo.
REST
Para pausar una programación de ejecución de una canalización en tu proyecto, envía una solicitud POST mediante el método projects.locations.schedules.pause.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION: la región en la que está activa la programación de la 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: el Google Cloud proyecto en el que está activa la programación de la ejecución del flujo de procesamiento.
- SCHEDULE_ID: ID de programación único generado al crear la programación.
Método HTTP y 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 comando siguiente:
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 comando siguiente:
$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 que indique que la operación se ha realizado correctamente (2xx) y una respuesta vacía.
Python
Usa el siguiente ejemplo para pausar una programación de ejecución de una 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 programación único generado al crear la programación.
Actualizar una programación
Puedes actualizar una programación de un flujo de procesamiento que se haya creado para tuGoogle Cloud proyecto.
Actualizar una programación es similar a eliminarla y volver a crearla. Cuando actualizas una programación, se programan nuevas ejecuciones en función de la frecuencia de la programación actualizada. Ya no se crearán ejecuciones nuevas basadas en la antigua programación y se descartarán las ejecuciones en cola. Los pases de flujo de procesamiento que ya se hayan creado con la antigua programación no se pausarán ni se cancelarán.
REST
Para actualizar una programación de ejecución de una canalización en tu proyecto, envía una solicitud PATCH mediante el método projects.locations.schedules.patch.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION: la región en la que quieres 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 Google Cloud proyecto en el que quieres ejecutar la canalización.
- DISPLAY_NAME: el nombre de la programación del flujo de procesamiento. Puede especificar un nombre con una longitud máxima de 128 caracteres UTF-8.
- MAX_CONCURRENT_RUN_COUNT: número máximo de ejecuciones simultáneas de la programación.
Método HTTP y 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 comando siguiente:
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 comando siguiente:
$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ía ver un resultado similar al siguiente. Según la actualización, se vuelve a calcular el NEXT_RUN_TIME. Cuando actualizas la programación, el START_TIME no cambia.
{ "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 el siguiente ejemplo para programar ejecuciones de la 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 programación único generado al crear la programación.
- DISPLAY_NAME: el nombre de la programación del flujo de procesamiento. Puede especificar un nombre con una longitud máxima de 128 caracteres UTF-8.
- MAX_CONCURRENT_RUN_COUNT: número máximo de ejecuciones simultáneas de la programación.
Reanudar una programación
Para reanudar una programación de una canalización en pausa, especifica el ID de la programación. Cuando reanudas una programación, su estado cambia de PAUSED
a ACTIVE
.
Consola
Puedes reanudar una programación de ejecución de una canalización que esté en pausa.
Para reanudar una programación, sigue estas instrucciones:
En la Google Cloud consola, en la sección Vertex AI, ve a la pestaña Programaciones de la página Pipelines.
Ve al menú de opciones
de la misma fila que la programación que quieras reanudar y, a continuación, haz clic en Reanudar. Puedes reanudar cualquier programación en la que la columna Estado muestre Pausado.
REST
Para reanudar una programación de ejecución de una canalización en tu proyecto, envía una solicitud POST mediante el método projects.locations.schedules.resume.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION: la región en la que se ha pausado la programación de la ejecución del flujo de procesamiento. 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 Google Cloud proyecto en el que la programación de la ejecución del flujo de procesamiento está en pausa.
- SCHEDULE_ID: ID de programación único generado al crear la programación.
- CATCH_UP: (Opcional) Indica si la programación pausada debe rellenar los ejecuciones de la canalización omitidas. Para rellenar y reprogramar las ejecuciones de la canalización omitidas, introduce lo siguiente:
{ "catch_up":true }
Este parámetro tiene el valor `false` de forma predeterminada.
Método HTTP y 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 comando siguiente:
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 comando siguiente:
$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 que indique que la operación se ha realizado correctamente (2xx) y una respuesta vacía.
Python
Usa el siguiente ejemplo para reanudar una programación de ejecución de una 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 programación único generado al crear la programación.
- CATCH_UP: (Opcional) Indica si la programación pausada debe rellenar los ejecuciones de la canalización omitidas. Para rellenar y reprogramar las ejecuciones de la canalización omitidas, introduce lo siguiente:
{ "catch_up":true }
Eliminar una programación
Puedes eliminar una programación de una canalización especificando el ID de la programación.
Consola
Puedes eliminar una programación de ejecución de una canalización independientemente de su estado.
Sigue estas instrucciones para eliminar una programación:
En la Google Cloud consola, en la sección Vertex AI, ve a la pestaña Programaciones de la página Pipelines.
Ve al menú de opciones
que está en la misma fila que la programación que quieres eliminar y, a continuación, haz clic en Eliminar.Para confirmar que quieres eliminarlo, haz clic en Eliminar.
REST
Para eliminar una programación de ejecución de una canalización de tu proyecto, envía una solicitud DELETE mediante el método projects.locations.schedules.delete.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION: la región en la que quieres eliminar la programación de flujo de procesamiento. 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 Google Cloud proyecto en el que quieres eliminar la programación.
- SCHEDULE_ID: ID de programación único generado al crear la programación.
Método HTTP y 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 comando siguiente:
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 comando siguiente:
$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ía 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 eliminar una programación de ejecución de una 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 programación único generado al crear la programación.
Mostrar todas las tareas de un flujo de procesamiento creadas por una programación
Para ver una lista de todos los trabajos de la canalización creados por una programación, especifica el ID de la programación.
REST
Para mostrar todas las ejecuciones de un flujo de trabajo que se han creado mediante una programación de flujo de trabajo, envía una solicitud GET con el método projects.locations.pipelineJobs.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION: la región en la que quieres 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 Google Cloud proyecto en el que quieres ejecutar la canalización.
- SCHEDULE_ID: ID de programación único generado al crear la programación.
Método HTTP y 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 comando siguiente:
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 comando siguiente:
$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ía ver un resultado similar al siguiente.
{ "pipelineJobs": [ PIPELINE_JOB_ENTITY_1, PIPELINE_JOB_ENTITY_2, ... ], }
Python
Usa el siguiente ejemplo para enumerar todos los trabajos de la canalización creados por una programación en orden descendente según su hora 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 programación único generado al crear la programación.