Planifier l'exécution d'un pipeline avec l'API Scheduler

Vous pouvez planifier des exécutions ponctuelles ou récurrentes de pipeline dans Vertex AI à l'aide de l'API Scheduler. Cela vous permet d'implémenter un entraînement continu dans votre projet.

Une fois que vous avez créé une programmation, elle peut présenter l'un des états suivants :

  • ACTIVE : une programmation active crée en continu des exécutions de pipeline en fonction de la fréquence configurée à l'aide de l'expression de programmation Cron. Une programmation devient active à son heure de début et reste dans cet état jusqu'à l'heure de fin spécifiée ou jusqu'à ce que vous la mettiez en pause.

  • PAUSED : une programmation suspendue ne crée pas d'exécutions de pipeline. Vous pouvez réactiver une programmation suspendue pour la réactiver. Lorsque vous réactivez une programmation mise en pause, vous pouvez spécifier si les exécutions ignorées (exécutions qui auraient été planifiées si la programmation était active) doivent être reprogrammées et envoyées à l'aide du paramètre catch_up dès que possible.

  • COMPLETED : une programmation terminée qui ne crée plus d'exécutions de pipeline. La programmation est terminée selon l'heure de fin spécifiée.

Vous pouvez utiliser l'API Scheduler pour effectuer les opérations suivantes :

Avant de commencer

Avant de planifier l'exécution d'un pipeline à l'aide de l'API Scheduler, suivez les instructions ci-dessous pour configurer votre projet et votre environnement de développement Google Cloud dans la console Google Cloud.

  1. Accordez au moins l'une des autorisations IAM suivantes à l'utilisateur ou au compte de service pour qu'il utilise l'API Scheduler :

    • roles/aiplatform.admin
    • roles/aiplatform.user
  2. Créez et compilez un pipeline. Pour en savoir plus, consultez Créer un pipeline.

Créer une programmation

Vous pouvez créer une programmation ponctuelle ou récurrente.

Console

Suivez les instructions ci-dessous pour créer une programmation à l'aide de la console Google Cloud. Si une programmation existe déjà pour le projet et la région, suivez les instructions de la section Créer une exécution de pipeline.

Suivez les instructions ci-dessous pour créer une programmation de pipeline :

  1. Dans la section Vertex AI de la console Google Cloud, accédez à l'onglet Programmations de la page Pipelines.

    Accéder aux planifications

  2. Cliquez sur Créer l'exécution programmée pour ouvrir le volet Créer une exécution de pipeline.

  3. Spécifiez les Détails de l'exécution suivants en sélectionnant l'une des options suivantes :

    • Pour créer une exécution de pipeline basée sur un modèle de pipeline existant, cliquez sur Sélectionner à partir de pipelines existants et saisissez les informations suivantes :

      1. Sélectionnez le Dépôt contenant le fichier de définition du pipeline ou du composant.

      2. Sélectionnez le Pipeline ou composant et la Version.

    • Pour importer une définition de pipeline compilée, cliquez sur Importer un fichier et saisissez les informations suivantes :

      1. Cliquez sur Parcourir pour ouvrir le sélecteur de fichier. Accédez au fichier YAML du pipeline compilé que vous souhaitez exécuter, sélectionnez le pipeline, puis cliquez sur Ouvrir.

      2. Par défaut, le champ Nom du pipeline ou du composant affiche le nom spécifié dans la définition du pipeline. Vous pouvez éventuellement spécifier un autre nom de pipeline.

    • Pour importer un fichier de définition de pipeline à partir de Cloud Storage, cliquez sur Importer depuis Cloud Storage et saisissez les informations suivantes :

      1. Cliquez sur Parcourir pour accéder au bucket Cloud Storage contenant l'objet de définition de pipeline, sélectionnez le fichier, puis cliquez sur Sélectionner.

      2. Spécifiez le Nom du pipeline ou du composant.

  4. Spécifiez un nom d'exécution pour identifier cette exécution de pipeline de manière unique.

  5. Spécifiez la Programmation d'exécution comme suit :

    1. Sélectionnez Récurrente.

    2. Sous Heure de début, indiquez à quel moment la programmation devient active.

      • Pour planifier la première exécution immédiatement après la création de la programmation, sélectionnez Immédiatement.

      • Pour planifier la première exécution à une heure et une date spécifiques, sélectionnez Début.

    3. Dans le champ Fréquence, spécifiez la fréquence de programmation et d'exécution du pipeline à l'aide d'une expression de programmation Cron basée sur unix-cron.

    4. Sous Fin, indiquez le moment où la programmation se termine.

      • Pour indiquer que la programmation crée des exécutions du pipeline indéfiniment, sélectionnez Jamais.

      • Pour indiquer que la programmation se termine à une date et une heure spécifiques, sélectionnez Fin, puis spécifiez la date et l'heure de fin de la programmation.

  6. Facultatif : pour spécifier un compte de service personnalisé, une clé de chiffrement gérée par le client (CMEK) ou un réseau VPC appairé, cliquez sur Options avancées et spécifiez un nom de compte de service, une CMEK ou un nom de réseau VPC appairé.

  7. Cliquez sur Continuer et spécifiez la Configuration de l'environnement d'exécution pour le pipeline.

  8. Cliquez sur Envoyer pour créer la programmation de l'exécution de votre pipeline.

REST

Pour créer une programmation d'exécution de pipeline, envoyez une requête POST à l'aide de la méthode projects.locations.schedules.create.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • LOCATION : région dans laquelle vous souhaitez exécuter le pipeline. Pour en savoir plus sur les régions dans lesquelles Vertex AI Pipelines est disponible, consultez le Guide des emplacements Vertex AI.
  • PROJECT_ID : projet Google Cloud dans lequel vous souhaitez exécuter le pipeline.
  • DISPLAY_NAME : nom de la programmation du pipeline. Vous pouvez spécifier un nom d'une longueur maximale de 128 caractères UTF-8.
  • START_TIME : horodatage après lequel la première exécution peut être planifiée, par exemple 2045-07-26T00:00:00Z. Si vous ne spécifiez pas ce paramètre, l'horodatage utilisé par défaut correspond à la date et à l'heure de création de la programmation.
  • END_TIME : horodatage après lequel les exécutions du pipeline ne sont plus programmées. Une fois la END_TIME atteinte, l'état de la programmation passe à COMPLETED. Si vous ne spécifiez pas ce paramètre, la programmation continue d'exécuter de nouveaux jobs de pipeline indéfiniment jusqu'à ce que vous le mettiez en pause ou le supprimiez.
  • CRON_EXPRESSION : expression de programmation Cron représentant la fréquence de programmation et d'exécution des exécutions du pipeline. Pour en savoir plus, consultez la section cron.
  • MAX_CONCURRENT_RUN_COUNT : nombre maximal d'exécutions simultanées pour la programmation.
  • API_REQUEST_TEMPLATE : modèle de requête API PipelineService.CreatePipelineJob utilisé pour exécuter les exécutions programmées de pipeline. Pour en savoir plus sur les paramètres du modèle de requête d'API, consultez la documentation sur pipelineJobs.create. Notez que vous ne pouvez pas spécifier le paramètre pipelineJobId dans ce modèle, car l'API Scheduler n'accepte pas ce paramètre.

Méthode HTTP et URL :

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

Corps JSON de la requête :

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

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

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

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

$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

Des résultats semblables aux lignes suivantes devraient s'afficher : Vous pouvez utiliser SCHEDULE_ID dans la réponse pour récupérer, suspendre, reprendre ou supprimer la programmation. PIPELINE_JOB_CREATION_REQUEST représente la requête API pour créer le job de 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

Vous pouvez créer une planification d'exécution de pipeline comme suit :

  • Créez une planification basée sur un PipelineJob à l'aide de la méthode PipelineJob.create_schedule.

  • Créez une planification à l'aide de la méthode PipelineJobSchedule.create.

Lors de la création d'une planification d'exécution de pipeline, vous pouvez également transmettre les espaces réservés suivants compatibles avec le SDK KFP en tant qu'entrées :

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

Pour en savoir plus, consultez la section Types d'entrées spéciaux dans la documentation de Kubeflow Pipelines v2.

Créer une planification à partir d'un PipelineJob

Utilisez l'exemple suivant pour planifier l'exécution des pipelines à l'aide de la méthode 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 : chemin d'accès au fichier YAML du pipeline compilé. Il peut s'agir d'un chemin d'accès local ou d'un URI Google Cloud Storage.

    Facultatif : pour spécifier une version particulière d'un modèle, incluez le tag de version, associé au chemin d'accès, dans l'un des formats suivants :

    • COMPILED_PIPELINE_PATH:TAG, où TAG désigne le tag de version.

    • COMPILED_PIPELINE_PATH@SHA256_TAG, où SHA256_TAG désigne la valeur de hachage sha256 de la version du pipeline.

  • PIPELINE_ROOT_PATH : (facultatif) Pour remplacer le chemin d'accès racine spécifié dans la définition du pipeline, spécifiez un chemin auquel votre tâche de pipeline peut accéder, tel qu'un URI de bucket Cloud Storage.

  • DISPLAY_NAME : nom du pipeline, qui apparaîtra dans la console Google Cloud.

  • SCHEDULE_NAME : nom de la programmation du pipeline. Vous pouvez spécifier un nom d'une longueur maximale de 128 caractères UTF-8.

  • CRON : expression de programmation Cron représentant la fréquence de programmation et d'exécution des exécutions du pipeline. Pour en savoir plus, consultez la section Cron.

  • MAX_CONCURRENT_RUN_COUNT : nombre maximal d'exécutions simultanées pour la programmation.

  • MAX_RUN_COUNT : nombre maximal d'exécutions de pipeline créées par la planification après lesquelles elle est terminée.

Créer une planification à l'aide de PipelineJobSchedule.create

Utilisez l'exemple suivant pour planifier l'exécution des pipelines à l'aide de la méthode 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 : chemin d'accès au fichier YAML du pipeline compilé. Il peut s'agir d'un chemin d'accès local ou d'un URI Google Cloud Storage.

    Facultatif : pour spécifier une version particulière d'un modèle, incluez le tag de version, associé au chemin d'accès, dans l'un des formats suivants :

    • COMPILED_PIPELINE_PATH:TAG, où TAG désigne le tag de version.

    • COMPILED_PIPELINE_PATH@SHA256_TAG, où SHA256_TAG désigne la valeur de hachage sha256 de la version du pipeline.

  • PIPELINE_ROOT_PATH : (facultatif) Pour remplacer le chemin d'accès racine spécifié dans la définition du pipeline, spécifiez un chemin auquel votre tâche de pipeline peut accéder, tel qu'un URI de bucket Cloud Storage.

  • DISPLAY_NAME : nom du pipeline, qui apparaîtra dans la console Google Cloud.

  • SCHEDULE_NAME : nom de la programmation du pipeline. Vous pouvez spécifier un nom d'une longueur maximale de 128 caractères UTF-8.

  • CRON : expression de programmation Cron représentant la fréquence de programmation et d'exécution des exécutions du pipeline. Pour en savoir plus, consultez la section Cron.

  • MAX_CONCURRENT_RUN_COUNT : nombre maximal d'exécutions simultanées pour la programmation.

  • MAX_RUN_COUNT : nombre maximal d'exécutions de pipeline créées par la planification après lesquelles elle est terminée.

Répertorier des programmations

Vous pouvez afficher la liste des programmations de pipeline créées pour votre projet Google Cloud.

Console

Vous pouvez afficher la liste des programmations de pipeline dans l'onglet Programmations de la console Google Cloud pour la région sélectionnée.

Pour afficher la liste des programmations de pipeline, dans la console Google Cloud, dans la section Vertex AI, accédez à l'onglet Programmations de la page Pipelines.

Accéder aux planifications

REST

Pour répertorier les programmations d'exécution du pipeline dans votre projet, envoyez une requête GET à l'aide de la méthode projects.locations.schedules.list.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • LOCATION : région dans laquelle vous souhaitez exécuter le pipeline. Pour en savoir plus sur les régions dans lesquelles Vertex AI Pipelines est disponible, consultez le Guide des emplacements Vertex AI.
  • PROJECT_ID : projet Google Cloud dans lequel vous souhaitez exécuter le pipeline.
  • FILTER : (facultatif) expression pour filtrer la liste des programmations. Pour en savoir plus, consultez ...
  • PAGE_SIZE : (facultatif) nombre de programmations à répertorier par page.
  • PAGE_TOKEN : (facultatif) jeton de page de liste standard, généralement obtenu via ListSchedulesResponse.next_page_token[] à partir d'un appel ScheduleService.ListSchedules[] précédent.
  • ORDER_BY : (facultatif) liste de champs séparés par des virgules indiquant l'ordre de tri des programmations dans la réponse.

Méthode HTTP et URL :

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

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Exécutez la commande suivante :

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

Exécutez la commande suivante :

$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

Le résultat obtenu doit ressembler à ceci :

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

Python

Utilisez l'exemple suivant pour répertorier toutes les planifications de votre projet par ordre décroissant d'heure de création :

from google.cloud import aiplatform

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

DISPLAY_NAME : nom de la programmation du pipeline. Vous pouvez spécifier un nom d'une longueur maximale de 128 caractères UTF-8.

Récupérer une programmation

Vous pouvez récupérer une programmation d'exécution de pipeline à l'aide de l'ID de programmation.

REST

Pour récupérer une programmation d'exécution de pipeline, envoyez une requête GET à l'aide de la méthode projects.locations.schedules.get et de l'ID de programmation.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • LOCATION : région dans laquelle vous souhaitez exécuter le pipeline. Pour en savoir plus sur les régions dans lesquelles Vertex AI Pipelines est disponible, consultez le Guide des emplacements Vertex AI.
  • PROJECT_ID : projet Google Cloud dans lequel vous souhaitez exécuter le pipeline.
  • SCHEDULE_ID : ID de programmation unique généré lors de la création de la programmation.

Méthode HTTP et URL :

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

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Exécutez la commande suivante :

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

Exécutez la commande suivante :

$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

Des résultats semblables aux lignes suivantes devraient s'afficher : PIPELINE_JOB_CREATION_REQUEST représente la requête API pour créer le job de 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

Utilisez l'exemple suivant pour récupérer une programmation d'exécution de pipeline à l'aide de l'ID de programmation :

from google.cloud import aiplatform

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

SCHEDULE_ID : ID de programmation unique généré lors de la création de la programmation.

Suspendre une programmation

Vous pouvez suspendre une programmation de pipeline active en spécifiant son ID. Lorsque vous suspendez une programmation, son état passe de ACTIVE à PAUSED.

Console

Vous pouvez suspendre une programmation d'exécution de pipeline actuellement active.

Pour suspendre une programmation, procédez comme suit :

  1. Dans la section Vertex AI de la console Google Cloud, accédez à l'onglet Programmations de la page Pipelines.

    Accéder aux planifications

  2. Accédez au menu d'options qui se trouve sur la même ligne que la programmation que vous souhaitez suspendre, puis cliquez sur Suspendre. Vous pouvez suspendre n'importe quelle programmation dont la colonne État indique Active.

REST

Pour suspendre une programmation d'exécution du pipeline dans votre projet, envoyez une requête POST à l'aide de la méthode projects.locations.schedules.pause.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • LOCATION : région dans laquelle la programmation d'exécution du pipeline est actuellement active. Pour en savoir plus sur les régions dans lesquelles Vertex AI Pipelines est disponible, consultez le Guide des emplacements Vertex AI.
  • PROJECT_ID : projet Google Cloud dans lequel la programmation d'exécution du pipeline est actuellement active.
  • SCHEDULE_ID : ID de programmation unique généré lors de la création de la programmation.

Méthode HTTP et URL :

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

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Exécutez la commande suivante :

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

Exécutez la commande suivante :

$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

Vous devriez recevoir un code d'état indiquant le succès de l'opération (2xx), ainsi qu'une réponse vide.

Python

Utilisez l'exemple suivant pour suspendre une planification d'exécution de pipeline :

from google.cloud import aiplatform

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

pipeline_job_schedule.pause()

SCHEDULE_ID : ID de programmation unique généré lors de la création de la programmation.

Mettre à jour une programmation

Vous pouvez mettre à jour une programmation de pipeline existante créée pour votre projet Google Cloud.

La mise à jour d'une planification est semblable à la suppression et à la recréation d'une planification. Lorsque vous mettez à jour une programmation, de nouvelles exécutions sont planifiées en fonction de la fréquence de la programmation mise à jour. Les nouvelles exécutions ne sont plus créées à partir de l'ancienne planification et toutes les exécutions en file d'attente sont supprimées. Les exécutions de pipeline déjà créées par l'ancienne planification ne sont pas suspendues ni annulées.

REST

Pour mettre à jour une programmation d'exécution de pipeline dans votre projet, envoyez une requête PATCH à l'aide de la méthode projects.locations.schedules.patch.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • LOCATION : région dans laquelle vous souhaitez exécuter le pipeline. Pour en savoir plus sur les régions dans lesquelles Vertex AI Pipelines est disponible, consultez le Guide des emplacements Vertex AI.
  • PROJECT_ID : projet Google Cloud dans lequel vous souhaitez exécuter le pipeline.
  • DISPLAY_NAME : nom de la programmation du pipeline. Vous pouvez spécifier un nom d'une longueur maximale de 128 caractères UTF-8.
  • MAX_CONCURRENT_RUN_COUNT : nombre maximal d'exécutions simultanées pour la programmation.

Méthode HTTP et 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}'

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Exécutez la commande suivante :

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

Exécutez la commande suivante :

$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

Des résultats semblables aux lignes suivantes devraient s'afficher : En fonction de la mise à jour, NEXT_RUN_TIME est recalculé. Lorsque vous mettez à jour la programmation, START_TIME reste inchangé.

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

Utilisez l'exemple suivant pour planifier l'exécution des pipelines à l'aide de la méthode 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 programmation unique généré lors de la création de la programmation.
  • DISPLAY_NAME : nom de la programmation du pipeline. Vous pouvez spécifier un nom d'une longueur maximale de 128 caractères UTF-8.
  • MAX_CONCURRENT_RUN_COUNT : nombre maximal d'exécutions simultanées pour la programmation.

Suspendre une programmation

Vous pouvez reprendre une programmation de pipeline mise en pause en spécifiant son ID. Lorsque vous réactivez une programmation, son état passe de PAUSED à ACTIVE.

Console

Vous pouvez reprendre une programmation d'exécution de pipeline actuellement suspendue.

Suivez les instructions ci-dessous pour réactiver une programmation :

  1. Dans la section Vertex AI de la console Google Cloud, accédez à l'onglet Programmations de la page Pipelines.

    Accéder aux planifications

  2. Accédez au menu d'options qui se trouve sur la même ligne que la programmation que vous souhaitez réactiver, puis cliquez sur Reprendre. Vous pouvez réactiver une programmation lorsque la colonne État indique Mise en veille.

REST

Pour reprendre une programmation d'exécution de pipeline dans votre projet, envoyez une requête POST à l'aide de la méthode projects.locations.schedules.resume.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • LOCATION : région dans laquelle la programmation d'exécution du pipeline est actuellement suspendue. Pour en savoir plus sur les régions dans lesquelles Vertex AI Pipelines est disponible, consultez le Guide des emplacements Vertex AI.
  • PROJECT_ID : projet Google Cloud dans lequel la programmation d'exécution du pipeline est actuellement suspendue.
  • SCHEDULE_ID : ID de programmation unique généré lors de la création de la programmation.
  • CATCH_UP : (facultatif) indiquez si la programmation mise en pause doit remplir les exécutions du pipeline ignorée. Pour remplir et reprogrammer les exécutions de pipeline ignorées, saisissez la valeur suivante :
    { "catch_up":true }Ce paramètre est défini par défaut sur "false".

Méthode HTTP et URL :

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

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Exécutez la commande suivante :

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

Exécutez la commande suivante :

$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

Vous devriez recevoir un code d'état indiquant le succès de l'opération (2xx), ainsi qu'une réponse vide.

Python

Utilisez l'exemple suivant pour reprendre une planification d'exécution de pipeline suspendue :

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 programmation unique généré lors de la création de la programmation.
  • CATCH_UP : (facultatif) indiquez si la programmation mise en pause doit remplir les exécutions du pipeline ignorée. Pour remplir et reprogrammer les exécutions de pipeline ignorées, saisissez la commande suivante :
    { "catch_up":true }

Supprimer une programmation

Vous pouvez supprimer une programmation de pipeline en spécifiant son ID.

Console

Vous pouvez supprimer une programmation d'exécution de pipeline quel que soit son état.

Suivez les instructions ci-dessous pour supprimer une programmation :

  1. Dans la section Vertex AI de la console Google Cloud, accédez à l'onglet Programmations de la page Pipelines.

    Accéder aux planifications

  2. Accédez au menu d'options qui se trouve sur la même ligne que la programmation que vous souhaitez réactiver, puis cliquez sur Reprendre.

  3. Pour confirmer la suppression, cliquez sur Supprimer.

REST

Pour supprimer une programmation d'exécution de pipeline dans votre projet, envoyez une requête DELETE à l'aide de la méthode projects.locations.schedules.delete.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • LOCATION : région dans laquelle vous souhaitez supprimer la programmation du pipeline. Pour en savoir plus sur les régions dans lesquelles Vertex AI Pipelines est disponible, consultez le Guide des emplacements Vertex AI.
  • PROJECT_ID : projet Google Cloud dans lequel vous souhaitez supprimer la programmation.
  • SCHEDULE_ID : ID de programmation unique généré lors de la création de la programmation.

Méthode HTTP et URL :

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

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Exécutez la commande suivante :

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

Exécutez la commande suivante :

$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

Des résultats semblables aux lignes suivantes devraient s'afficher : OPERATION_ID représente l'opération de suppression.

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

Utilisez l'exemple suivant pour supprimer une planification d'exécution de pipeline :

from google.cloud import aiplatform

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

pipeline_job_schedule.delete()

SCHEDULE_ID : ID de programmation unique généré lors de la création de la programmation.

Répertorier tous les jobs de pipeline créés par une programmation

Vous pouvez afficher la liste de tous les jobs de pipeline créés par une programmation en spécifiant son ID.

REST

Pour répertorier toutes les exécutions de pipeline créées par une programmation de pipeline, envoyez une requête GET à l'aide de la méthode projects.locations.pipelineJobs.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • LOCATION : région dans laquelle vous souhaitez exécuter le pipeline. Pour en savoir plus sur les régions dans lesquelles Vertex AI Pipelines est disponible, consultez le Guide des emplacements Vertex AI.
  • PROJECT_ID : projet Google Cloud dans lequel vous souhaitez exécuter le pipeline.
  • SCHEDULE_ID : ID de programmation unique généré lors de la création de la programmation.

Méthode HTTP et URL :

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

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Exécutez la commande suivante :

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

Exécutez la commande suivante :

$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

Des résultats semblables aux lignes suivantes devraient s'afficher :

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

Python

Utilisez l'exemple suivant pour répertorier toutes les tâches de pipeline créées par une planification dans l'ordre décroissant de leurs heures de création :

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 programmation unique généré lors de la création de la programmation.