Configurazione delle notifiche via email

Vertex AI Pipelines può avvisarti della riuscita o meno dell'esecuzione di una pipeline. Quando la pipeline esce, Google Cloud invia un'email di notifica dello stato finale agli indirizzi email specificati.

Questa guida mostra come configurare le notifiche via email da una pipeline utilizzando il componente Email di notifica nell'SDK dei componenti della pipeline di Google Cloud.

Prima di iniziare

Prima di creare una pipeline che invia notifiche, utilizza le seguenti istruzioni per impostare per il tuo progetto e l'ambiente di sviluppo di Google Cloud.

  1. Per preparare il tuo progetto Google Cloud a eseguire pipeline di ML, segui le istruzioni riportate nella guida alla configurazione del progetto Google Cloud.

  2. Installa la versione 1.8 o successiva dell'SDK Kubeflow Pipelines.
    (Facoltativo) Prima dell'installazione, esegui il seguente comando per vedere quale versione dell'SDK Kubeflow Pipelines è attualmente installata:

      pip freeze | grep kfp
    
  3. Per utilizzare il client Python di Vertex AI nelle tue pipeline, installa le librerie client di Vertex AI 1.7 o versioni successive.

  4. Per utilizzare i servizi Vertex AI nelle tue pipeline, installa i componenti della pipeline di Google Cloud.

Invia una notifica da una pipeline

L'esempio seguente mostra come configurare le notifiche via email definendo un'attività di notifica via email (notify_email_task) e aggiungendola al gestore di uscita della pipeline (dsl.ExitHandler). Questa attività di notifica invoca l'operatore VertexNotificationEmailOp nel componente di notifica via email quando la pipeline esce.

from kfp import dsl
from kfp import compiler
from google_cloud_pipeline_components.v1.vertex_notification_email import VertexNotificationEmailOp

@dsl.pipeline(
    name='PIPELINE_NAME',
    pipeline_root=PIPELINE_ROOT_PATH,
)
def TASK_NAME():
    notify_email_task = VertexNotificationEmailOp(recipients=RECIPIENTS_LIST)

    with dsl.ExitHandler(notify_email_task):
        # Add your pipeline tasks here.

compiler.Compiler().compile(pipeline_func=notification_email_pipeline,
        package_path='notification_email_pipeline.yaml')

Sostituisci quanto segue:

  • PIPELINE_NAME: il nome della pipeline.

  • PIPELINE_ROOT_PATH: specifica un URI Cloud Storage a cui può accedere il tuo account di servizio delle pipeline. Gli artefatti le esecuzioni della pipeline vengono archiviate nella radice della pipeline.

    La radice della pipeline può essere impostata come argomento dell'annotazione @kfp.dsl.pipeline nella funzione della pipeline oppure può essere impostata quando chiami create_run_from_job_spec per creare un'esecuzione della pipeline.

  • TASK_NAME: il nome dell'attività della pipeline per cui stai configurando le notifiche via email.

  • RECIPIENTS_LIST: un elenco separato da virgole di massimo tre indirizzi email da invia l'email di notifica a.

Aggiungi le attività della pipeline nel corpo della funzione di gestione delle uscite dsl.ExitHandler. Raggruppando le attività nella funzione di gestore delle uscite in questo modo, specifichi che il componente email di notifica deve segnalare lo stato di queste attività all'uscita della pipeline. Ad esempio, se un'attività all'interno dei contenuti del gestore di uscita non riesce, lo stato verrà segnalato come non riuscita.

Esempio di email di notifica

Se configuri le notifiche via email per una pipeline utilizzando l'esempio di codice in Inviare una notifica da una pipeline, Vertex AI invia una notifica via email simile alla seguente quando la pipeline esce:

Oggetto: Job Vertex Pipelines "PIPELINE_NAME" attività "TASK_NAME"
Da: Notifiche Google <notify-noreply@google.com>

Gentile cliente Vertex AI,

Job "PIPELINE_NAME" di Vertex Pipelines attività "TASK_NAME" è terminato con il seguente stato: {status}.

Ulteriori dettagli:
- Progetto: {project}
- Nome pipeline: PIPELINE_NAME
- ID job pipeline: {pipeline_job_id}
- Ora di inizio: {start_time}

Per visualizzare questo job della pipeline nella console Cloud, usa il link seguente: {console_link}

Cordiali saluti,
Il team dell'IA di Google Cloud

In questo esempio:

  • {status} rappresenta lo stato finale dell'attività, che può essere SUCCEEDED, FAILED o CANCELLED.
  • {project} è il nome del progetto.
  • {pipeline_job_id} è l'ID univoco del job della pipeline.
  • {start_time} rappresenta l'ora di inizio della pipeline.
  • {console_link} è un link ipertestuale al job della pipeline nella console Google Cloud.