Configurazione delle notifiche via email

Vertex AI Pipelines può inviarti una notifica in caso di esito positivo o negativo dell'esecuzione di una pipeline. All'uscita della pipeline, 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 Pipeline components.

Prima di iniziare

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

  1. Per preparare il tuo progetto Google Cloud all'esecuzione di pipeline ML, segui le istruzioni nella guida alla configurazione del tuo progetto Google Cloud.

  2. Installa la versione 1.8 o successiva dell'SDK Kubeflow Pipelines.
    (Facoltativo) Prima di eseguire l'installazione, esegui questo comando per verificare 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 v1.7 o versioni successive.

  4. Per utilizzare i servizi Vertex AI nelle tue pipeline, installa i componenti di 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 uscite della pipeline (dsl.ExitHandler). Questa attività di notifica richiama l'operatore VertexNotificationEmailOp nel componente di notifica via email quando la pipeline è chiusa.

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 l'account di servizio delle pipeline può accedere. Gli artefatti delle esecuzioni della pipeline vengono archiviati all'interno della radice della pipeline.

    La root della pipeline può essere impostata come argomento dell'annotazione @kfp.dsl.pipeline nella funzione della pipeline oppure 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 uscite dsl.ExitHandler. Se aggrega le attività nella funzione di gestore delle uscite in questo modo, specifichi che il componente dell'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 di uscite ha esito negativo, la notifica segnala lo stato 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 all'uscita della pipeline:

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

Gentile cliente Vertex AI,

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

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

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

Cordiali saluti,
Il team AI 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.