Configurazione delle notifiche via email

Vertex AI Pipelines può inviarti una notifica in caso di esecuzione riuscita o non riuscita di una pipeline. Quando la pipeline termina, 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 Notifica via email nell'SDK Google Cloud .

Prima di iniziare

Prima di creare una pipeline che invia notifiche, segui queste istruzioni per configurare il progetto e l'ambiente di sviluppo. Google Cloud

  1. Per preparare il tuo progetto Google Cloud all'esecuzione delle pipeline ML, segui le istruzioni della guida per configurare il tuo progettoGoogle Cloud .

  2. Installa la versione 2 o successive dell'SDK Kubeflow Pipelines.

    pip install --upgrade "kfp>=2,<3"
    
  1. Per utilizzare il client Python di Vertex AI nelle pipeline, installa le librerie client di Vertex AI v1.7 o versioni successive.

  2. Per utilizzare i servizi Vertex AI nelle pipeline, installa i Google Cloud componenti della pipeline.

Inviare 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 richiama 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 l'account di servizio delle pipeline. Gli artefatti delle esecuzioni della pipeline sono archiviati 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 a cui inviare l'email di notifica.

Aggiungi le attività della pipeline nel corpo della funzione del gestore di uscita dsl.ExitHandler. Se racchiudi le attività nella funzione di gestione dell'uscita in questo modo, specifichi che il componente email di notifica deve segnalare lo stato di queste attività quando la pipeline esce. Ad esempio, se un'attività all'interno dei contenuti del gestore dell'uscita non va a buon fine, la notifica segnala lo stato come non riuscito.

Esempio di email di notifica

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

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

Gentile cliente di Vertex AI,

L'attività "TASK_NAME" del job Vertex AI Pipelines "PIPELINE_NAME" è terminata con lo stato seguente: {status}.

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

Per visualizzare questo job pipeline in Cloud Console, utilizza il seguente link: {console_link}

Cordiali saluti,
Il Google Cloud team AI

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 .