Pianificare l'esecuzione di una pipeline con l'API Scheduler

Puoi pianificare esecuzioni di pipeline una tantum o ricorrenti in Vertex AI utilizzando l'API scheduler. Ciò ti consente di implementare e l'addestramento continuo nel tuo progetto.

Una pianificazione può avere uno dei seguenti stati dopo la creazione:

  • ACTIVE: una pianificazione attiva crea continuamente esecuzioni della pipeline in base a la frequenza configurata utilizzando l'espressione di pianificazione cron. Una pianificazione diventa sia attiva all'ora di inizio e rimane in questo stato fino all'ora di fine specificata, o fino a quando non lo metti in pausa.

  • PAUSED: una pianificazione in pausa non crea esecuzioni della pipeline. Puoi riprendere la programmazione in pausa per renderla di nuovo attiva. Quando riprendi una pianificazione messa in pausa, puoi utilizzare il parametro catch_up per specificare se le esecuzioni saltate (esecuzioni che sarebbe stato pianificato se la pianificazione fosse attiva), deve essere riprogrammate e inviate non appena possibile.

  • COMPLETED: una pianificazione completata non crea più nuove esecuzioni della pipeline. Una programmazione viene completata in base all'ora di fine specificata.

Puoi utilizzare l'API Scheduler per:

Prima di iniziare

Prima di pianificare l'esecuzione di una pipeline utilizzando l'API Scheduler, segui le istruzioni riportate di seguito per configurare il progetto Google Cloud e l'ambiente di sviluppo nella console Google Cloud.

  1. Concedi almeno una delle seguenti autorizzazioni IAM all'account utente o di servizio per utilizzare l'API scheduler:

    • roles/aiplatform.admin
    • roles/aiplatform.user
  2. Crea e compila una pipeline. Per saperne di più, consulta Creare una pipeline.

Crea una pianificazione

Puoi creare una pianificazione una tantum o ricorrente.

Console

Segui le istruzioni riportate di seguito per creare una pianificazione utilizzando la console Google Cloud. Se esiste già una pianificazione per il progetto e la regione, utilizza le istruzioni in Creare un'esecuzione della pipeline.

Usa le istruzioni seguenti per creare una pianificazione della pipeline:

  1. Nella console Google Cloud, nella sezione Vertex AI, vai alla scheda Pianificazioni nella pagina Pipeline.

    Vai a Pianificazioni

  2. Fai clic su Crea esecuzione pianificata per aprire il riquadro Crea esecuzione pipeline.

  3. Specifica i seguenti Dettagli esecuzione selezionando una delle seguenti opzioni:

    • Per creare un'esecuzione pipeline basata su un modello di pipeline esistente, fai clic su Seleziona da pipeline esistenti e inserisci i seguenti dettagli:

      1. Seleziona il repository contenente il file di definizione della pipeline o del componente.

      2. Seleziona la pipeline o il componente e la versione.

    • Per caricare una definizione di pipeline compilata, fai clic su Carica file e inserisci i seguenti dettagli:

      1. Fai clic su Sfoglia per aprire il selettore di file. Vai al file YAML della pipeline compilata che vuoi eseguire, seleziona la pipeline e fai clic su Apri.

      2. Per impostazione predefinita, Nome pipeline o componente mostra il nome specificato nella definizione della pipeline. Facoltativamente, specifica un nome diverso per la pipeline.

    • Per importare un file di definizione di pipeline da Cloud Storage, fai clic su Importa da Cloud Storage e inserisci i seguenti dettagli:

      1. Fai clic su Sfoglia per accedere al bucket Cloud Storage contenente l'oggetto di definizione della pipeline, seleziona il file, quindi fai clic su Seleziona.

      2. Specifica il nome della pipeline o del componente.

  4. Specifica un Nome esecuzione per identificare in modo univoco l'esecuzione della pipeline.

  5. Specifica la pianificazione dell'esecuzione, come segue:

    1. Seleziona Ritorna ogni.

    2. In Ora di inizio, specifica quando deve essere attivata la pianificazione.

      • Per pianificare la prima esecuzione immediatamente dopo la creazione della pianificazione, seleziona Immediatamente.

      • Per pianificare la prima esecuzione in modo che venga eseguita in una data e un'ora specifiche, seleziona On.

    3. Nel campo Frequency (Frequenza), specifica la frequenza con cui pianificare ed eseguire delle esecuzioni della pipeline, utilizzando un'espressione di pianificazione cron basata su unix-cron.

    4. In Termina, specifica quando termina la pianificazione.

      • Per indicare che la pianificazione crea esecuzioni della pipeline a tempo indeterminato, seleziona Mai.

      • Per indicare che la pianificazione termina in una data e un'ora specifiche, seleziona On e specifica la data e l'ora di fine della pianificazione.

  6. (Facoltativo) Per specificare un account di servizio personalizzato, una chiave di crittografia gestita dal cliente (CMEK) o una rete VPC in peering, fai clic su Opzioni avanzate e specifica il nome di un account di servizio, CMEK o rete VPC in peering.

  7. Fai clic su Continua e specifica la configurazione di runtime per la pipeline.

  8. Fai clic su Invia per creare la pianificazione dell'esecuzione della pipeline.

REST

Per creare una pianificazione di esecuzione della pipeline, invia una richiesta POST utilizzando projects.locations.schedules.create.

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • LOCATION: la regione in cui vuoi eseguire la pipeline. Per ulteriori informazioni sulle regioni in cui è disponibile Vertex AI Pipelines, consulta la guida alle località di Vertex AI.
  • PROJECT_ID: il progetto Google Cloud in cui vuoi eseguire la pipeline.
  • DISPLAY_NAME: il nome della pianificazione della pipeline. Puoi specificare un nome con una lunghezza massima di 128 caratteri UTF-8.
  • START_TIME: il timestamp dopo il quale è possibile pianificare la prima esecuzione, ad esempio 2045-07-26T00:00:00Z. Se non specifichi questo parametro, il timestamp corrispondente alla data e all'ora in cui crei la pianificazione viene utilizzata come impostazione predefinita valore.
  • END_TIME: timestamp dopo il quale le esecuzioni della pipeline non sono più pianificate. Una volta raggiunto il valore END_TIME, lo stato della pianificazione diventa COMPLETED. Se non specifichi questo parametro, la pianificazione continua a eseguire nuovi job della pipeline a tempo indeterminato finché non la metti in pausa o la elimini.
  • CRON_EXPRESSION: espressione di pianificazione CRON che rappresenta la frequenza con cui pianificare ed eseguire le esecuzioni della pipeline. Per ulteriori informazioni, consulta cron.
  • MAX_CONCURRENT_RUN_COUNT: il numero massimo di esecuzioni simultanee per la pianificazione.
  • API_REQUEST_TEMPLATE: PipelineService.CreatePipelineJob richiesta API utilizzato per eseguire le esecuzioni pianificate della pipeline. Per ulteriori informazioni sui parametri nel modello di richiesta API, consulta la documentazione per pipelineJobs.create Tieni presente che non puoi specificare il parametro pipelineJobId in questo modello, poiché l'API di pianificazione non supporta questo parametro.

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

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

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

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

Salva il corpo della richiesta in un file denominato request.json. ed esegui questo 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

Dovresti vedere un output simile al seguente. Puoi utilizzare SCHEDULE_ID dalla risposta per recuperare, mettere in pausa, riprendere o eliminare la pianificazione. PIPELINE_JOB_CREATION_REQUEST rappresenta la richiesta API per creare il job della pipeline.

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

Puoi creare una pianificazione di esecuzione della pipeline nei seguenti modi:

  • Crea una pianificazione basata su un PipelineJob utilizzando il metodo PipelineJob.create_schedule.

  • Creazione di una pianificazione con il metodo PipelineJobSchedule.create.

Durante la creazione di una pianificazione dell'esecuzione della pipeline, puoi anche passare i seguenti segnaposto supportati dall'SDK KFP come input:

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

Per ulteriori informazioni, consulta Tipi di input speciali nella documentazione di Kubeflow Pipelines v2.

Creare una pianificazione da un PipelineJob

Utilizza il seguente esempio per pianificare le esecuzioni della pipeline utilizzando il metodo 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: il percorso del file YAML della pipeline compilata. Può essere un percorso locale o un URI Cloud Storage.

    (Facoltativo) Per specificare una determinata versione di un modello, includi il tag versione insieme al percorso in uno dei seguenti formati:

    • COMPILED_PIPELINE_PATH:TAG, dove TAG è il tag versione.

    • COMPILED_PIPELINE_PATH@SHA256_TAG, dove SHA256_TAG è il valore hash sha256 della versione della pipeline.

  • PIPELINE_ROOT_PATH: (facoltativo) per eseguire l'override del percorso root della pipeline specificato nella definizione della pipeline, specifica un percorso a cui il job della pipeline può accedere, ad esempio un URI del bucket Cloud Storage.

  • DISPLAY_NAME: il nome della pipeline. che verrà visualizzato nella console Google Cloud.

  • SCHEDULE_NAME: il nome della pianificazione della pipeline. Puoi specificare un nome con una lunghezza massima di 128 caratteri UTF-8.

  • CRON: espressione di pianificazione cron che rappresenta la frequenza con cui pianificare ed eseguire le esecuzioni della pipeline. Per ulteriori informazioni, vedi Cron.

  • MAX_CONCURRENT_RUN_COUNT: il numero massimo di esecuzioni simultanee per la pianificazione.

  • MAX_RUN_COUNT: il numero massimo di esecuzioni pipeline create dalla pianificazione una volta completata.

Creare una pianificazione utilizzando PipelineJobSchedule.create

Utilizza il seguente esempio per pianificare le esecuzioni della pipeline utilizzando il metodo 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: il percorso del file YAML della pipeline compilata. Può essere un percorso locale o un URI Cloud Storage.

    (Facoltativo) Per specificare una determinata versione di un modello, includi il tag versione insieme al percorso in uno dei seguenti formati:

    • COMPILED_PIPELINE_PATH:TAG, dove TAG è il tag versione.

    • COMPILED_PIPELINE_PATH@SHA256_TAG, dove SHA256_TAG è il valore dell'hash SHA256 della versione della pipeline.

  • PIPELINE_ROOT_PATH (facoltativo) per eseguire l'override del percorso principale della pipeline specificato nella definizione della pipeline, specifica un percorso accessibile al job della pipeline, ad esempio l'URI di un bucket Cloud Storage.

  • DISPLAY_NAME: il nome della pipeline. che verrà visualizzato nella console Google Cloud.

  • SCHEDULE_NAME: il nome della pianificazione della pipeline. Puoi specificare un nome con una lunghezza massima di 128 caratteri UTF-8.

  • CRON: espressione di pianificazione cron che rappresenta la frequenza con cui pianificare ed eseguire le esecuzioni della pipeline. Per ulteriori informazioni, vedi Cron.

  • MAX_CONCURRENT_RUN_COUNT: il numero massimo di esecuzioni simultanee per la pianificazione.

  • MAX_RUN_COUNT: il numero massimo di esecuzioni della pipeline create dalla pianificazione al termine della quale viene completata.

Elenca le pianificazioni

Puoi visualizzare l'elenco delle pianificazioni delle pipeline create per il tuo progetto Google Cloud.

Console

Puoi visualizzare l'elenco delle pianificazioni della pipeline nella scheda Pianificazioni della console Google Cloud per la regione selezionata.

Per visualizzare l'elenco delle pianificazioni delle pipeline, nella sezione Vertex AI della console Google Cloud, vai alla scheda Pianificazioni nella pagina Pipeline.

Vai a Pianificazioni

REST

Per elencare le pianificazioni di esecuzione delle pipeline nel progetto, invia una richiesta GET utilizzando il metodo projects.locations.schedules.list.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • LOCATION: la regione in cui vuoi eseguire la pipeline. Per ulteriori informazioni sulle regioni in cui è disponibile Vertex AI Pipelines, consulta la guida alle località di Vertex AI.
  • PROJECT_ID: il progetto Google Cloud in cui vuoi eseguire la pipeline.
  • FILTER: (facoltativo) Espressione per filtrare l'elenco delle pianificazioni. Per ulteriori informazioni, vedi ...
  • PAGE_SIZE: (facoltativo) il numero di programmi da elencare per pagina.
  • PAGE_TOKEN: (facoltativo) il token standard della pagina elenco, ottenuto in genere tramite ListSchedulesResponse.next_page_token[] da una chiamata ScheduleService.ListSchedules[] precedente.
  • ORDER_BY: (facoltativo) Elenco di campi separati da virgole che indica l'ordine di ordinamento delle pianificazioni nella risposta.

Metodo HTTP e URL:

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

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Esegui questo 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

Esegui questo 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

Dovresti vedere un output simile al seguente:

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

Python

Utilizza il seguente esempio per elencare tutte le pianificazioni del progetto in ordine decrescente in base alla data e all'ora di creazione:

from google.cloud import aiplatform

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

DISPLAY_NAME: il nome della pianificazione della pipeline. Puoi specificare un nome con una lunghezza massima di 128 caratteri UTF-8.

Recuperare una pianificazione

Puoi recuperare una pianificazione dell'esecuzione della pipeline utilizzando l'ID pianificazione.

REST

Per recuperare la pianificazione dell'esecuzione di una pipeline, invia una richiesta GET utilizzando projects.locations.schedules.get e l'ID pianificazione.

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • LOCATION: la regione in cui vuoi eseguire la pipeline. Per ulteriori informazioni sulle regioni in cui è disponibile Vertex AI Pipelines, vedi Guida alle posizioni di Vertex AI.
  • PROJECT_ID: il progetto Google Cloud in cui vuoi eseguire la pipeline.
  • SCHEDULE_ID: ID pianificazione univoco generato durante la creazione della pianificazione.

Metodo HTTP e URL:

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

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Esegui questo 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

Esegui questo 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

Dovresti vedere un output simile al seguente. PIPELINE_JOB_CREATION_REQUEST rappresenta la richiesta API per creare il job della pipeline.

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

Utilizza il seguente esempio per recuperare una pianificazione di esecuzione della pipeline utilizzando l'ID pianificazione:

from google.cloud import aiplatform

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

SCHEDULE_ID: ID pianificazione univoco generato durante la creazione della pianificazione.

Mettere in pausa una pianificazione

Puoi mettere in pausa una pianificazione della pipeline attiva specificando l'ID pianificazione. Quando metti in pausa una pianificazione, il suo stato cambia da ACTIVE a PAUSED.

Console

Puoi mettere in pausa una pianificazione dell'esecuzione della pipeline attualmente attiva.

Per mettere in pausa una pianificazione:

  1. Nella sezione Vertex AI della console Google Cloud, vai alla scheda Pianificazioni nella pagina Pipeline.

    Vai a Pianificazioni

  2. Vai al menu opzioni di che si trova nella stessa riga della programmazione che vuoi mettere in pausa e fai clic su Metti in pausa. Puoi mettere in pausa qualsiasi pianificazione in cui la colonna Stato mostra Attivo.

REST

Per mettere in pausa la pianificazione dell'esecuzione di una pipeline nel tuo progetto, invia una richiesta POST utilizzando il metodo projects.locations.schedules.pause.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • LOCATION: la regione in cui è attualmente attiva la pianificazione dell'esecuzione della pipeline. Per ulteriori informazioni sulle regioni in cui è disponibile Vertex AI Pipelines, vedi Guida alle posizioni di Vertex AI.
  • PROJECT_ID: il progetto Google Cloud in cui è attualmente attiva la pianificazione dell'esecuzione della pipeline.
  • SCHEDULE_ID: ID pianificazione univoco generato durante la creazione della pianificazione.

Metodo HTTP e URL:

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

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Esegui questo 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

Esegui questo 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

Dovresti ricevere un codice di stato di operazione riuscita (2xx) e una risposta vuota.

Python

Usa l'esempio seguente per mettere in pausa la pianificazione dell'esecuzione di una pipeline:

from google.cloud import aiplatform

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

pipeline_job_schedule.pause()

SCHEDULE_ID: ID pianificazione univoco generato durante la creazione della pianificazione.

Aggiorna una pianificazione

Puoi aggiornare una pianificazione della pipeline esistente creata per il tuo progetto Google Cloud.

L'aggiornamento di una pianificazione è simile all'eliminazione e alla nuova creazione di una pianificazione. Quando aggiorni una pianificazione, le nuove esecuzioni vengono pianificate in base alla frequenza della programmazione aggiornata. Le nuove esecuzioni non vengono più create in base alla vecchia pianificazione e alle eventuali esecuzioni in coda vengono eliminate. Esecuzioni pipeline già create dalla vecchia pianificazione non siano in pausa o annullati.

REST

Per aggiornare una pianificazione di esecuzione della pipeline nel progetto, invia una richiesta PATCH utilizzando il metodo projects.locations.schedules.patch.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • LOCATION: la regione in cui vuoi eseguire la pipeline. Per ulteriori informazioni sulle regioni in cui è disponibile Vertex AI Pipelines, consulta la guida alle località di Vertex AI.
  • PROJECT_ID: il progetto Google Cloud in cui vuoi eseguire la pipeline.
  • DISPLAY_NAME: il nome della pianificazione della pipeline. Puoi specificare un nome con una lunghezza massima di 128 caratteri UTF-8.
  • MAX_CONCURRENT_RUN_COUNT: il numero massimo di esecuzioni simultanee per la pianificazione.

Metodo HTTP e 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}'

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Esegui questo 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

Esegui questo 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

Dovresti vedere un output simile al seguente. In base all'aggiornamento, il valore NEXT_RUN_TIME viene ricalcolato. Quando aggiorni la pianificazione, START_TIME rimane invariato.

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

Utilizza il seguente esempio per pianificare le esecuzioni della pipeline utilizzando il metodo 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 pianificazione univoco generato durante la creazione della pianificazione.
  • DISPLAY_NAME: il nome della pianificazione della pipeline. Puoi specificare un nome con una lunghezza massima di 128 caratteri UTF-8.
  • MAX_CONCURRENT_RUN_COUNT: il numero massimo di esecuzioni simultanee per la pianificazione.

Riprendere una programmazione

Puoi riprendere una pianificazione della pipeline in pausa specificando l'ID pianificazione. Quando riprendi una pianificazione, il relativo stato passa da PAUSED a ACTIVE.

Console

Puoi riprendere la pianificazione dell'esecuzione di una pipeline attualmente in pausa.

Per riprendere una pianificazione:

  1. Nella console Google Cloud, nella sezione Vertex AI, vai alla scheda Pianificazioni nella pagina Pipeline.

    Vai a Pianificazioni

  2. Vai al menu opzioni nella stessa riga della pianificazione che vuoi riprendere e fai clic su Ripristina. Puoi riprendere qualsiasi pianificazione in cui la colonna Stato mostra In pausa.

REST

Per riprendere la pianificazione dell'esecuzione di una pipeline nel tuo progetto, invia una richiesta POST utilizzando projects.locations.schedules.resume.

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • LOCATION: la regione in cui la pianificazione dell'esecuzione della pipeline è attualmente in pausa. Per ulteriori informazioni sulle regioni in cui è disponibile Vertex AI Pipelines, consulta la guida alle località di Vertex AI.
  • PROJECT_ID: il progetto Google Cloud in cui la pianificazione dell'esecuzione della pipeline è attualmente in pausa.
  • SCHEDULE_ID: ID pianificazione univoco generato durante la creazione della pianificazione.
  • CATCH_UP: (Facoltativo) Indica se la pianificazione in pausa deve eseguire il backfill delle esecuzioni della pipeline saltate. Per eseguire il backfill e riprogrammare le esecuzioni della pipeline ignorate, inserisci quanto segue:
    { "catch_up":true } Per impostazione predefinita, questo parametro è impostato su "false".

Metodo HTTP e URL:

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

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Esegui questo 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

Esegui questo 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

Dovresti ricevere un codice di stato di operazione riuscita (2xx) e una risposta vuota.

Python

Utilizza il seguente esempio per riprendere la pianificazione di un'esecuzione della pipeline messa in 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 pianificazione univoco generato durante la creazione della pianificazione.
  • CATCH_UP: (facoltativo) indica se la pianificazione in pausa deve eseguire il backfill delle esecuzioni della pipeline saltate. Per eseguire il backfill e riprogrammare le esecuzioni della pipeline saltate, inserisci quanto segue:
    { "catch_up":true }

Elimina una pianificazione

Puoi eliminare una pianificazione della pipeline specificando l'ID pianificazione.

Console

Puoi eliminare la pianificazione di esecuzione di una pipeline indipendentemente dal suo stato.

Per eliminare una pianificazione:

  1. Nella sezione Vertex AI della console Google Cloud, vai alla scheda Pianificazioni nella pagina Pipeline.

    Vai a Pianificazioni

  2. Vai al menu delle opzioni di che si trova nella stessa riga della pianificazione che vuoi eliminare, poi fai clic su Elimina.

  3. Per confermare l'eliminazione, fai clic su Elimina.

REST

Per eliminare una pianificazione dell'esecuzione della pipeline nel progetto, invia una richiesta DELETE utilizzando il metodo projects.locations.schedules.delete.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • LOCATION: la regione in cui vuoi eliminare la pianificazione della pipeline. Per ulteriori informazioni sulle regioni in cui è disponibile Vertex AI Pipelines, vedi Guida alle posizioni di Vertex AI.
  • PROJECT_ID: il progetto Google Cloud in cui vuoi eliminare la pianificazione.
  • SCHEDULE_ID: l'ID pianificazione univoco generato durante la creazione della pianificazione.

Metodo HTTP e URL:

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

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Esegui questo 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

Esegui questo 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

Dovresti vedere un output simile al seguente. OPERATION_ID rappresenta l'operazione di eliminazione.

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

Utilizza il seguente esempio per eliminare una pianificazione dell'esecuzione della pipeline:

from google.cloud import aiplatform

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

pipeline_job_schedule.delete()

SCHEDULE_ID: ID pianificazione univoco generato durante la creazione della pianificazione.

Elenca tutti i job della pipeline creati da una pianificazione

Puoi visualizzare un elenco di tutti i job della pipeline creati da una pianificazione specificando l'ID pianificazione.

REST

Per elencare tutte le esecuzioni pipeline create da una pianificazione di pipeline, invia una richiesta GET utilizzando projects.locations.pipelineJobs.

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • LOCATION: la regione in cui vuoi eseguire la pipeline. Per ulteriori informazioni sulle regioni in cui è disponibile Vertex AI Pipelines, vedi Guida alle posizioni di Vertex AI.
  • PROJECT_ID: il progetto Google Cloud in cui vuoi eseguire la pipeline.
  • SCHEDULE_ID: ID pianificazione univoco generato durante la creazione della pianificazione.

Metodo HTTP e URL:

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

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Esegui questo 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

Esegui questo 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

Dovresti vedere un output simile al seguente.

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

Python

Utilizza il seguente esempio per elencare tutti i job della pipeline creati da una pianificazione nell'ordine decrescente dei relativi tempi di creazione:

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 pianificazione univoco generato durante la creazione della pianificazione.