Vertex AI Pipelines può inviarti una notifica relativa al buon esito o al fallimento di un'esecuzione della 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 di notifica via email nell'SDK Google Cloud Pipeline Components.
Prima di iniziare
Prima di creare una pipeline che invii notifiche, segui le istruzioni riportate di seguito per configurare il progetto Google Cloud e l'ambiente di sviluppo.
Per preparare il tuo progetto Google Cloud a eseguire pipeline di ML, segui le istruzioni riportate nella guida alla configurazione del progetto Google Cloud.
Installa la versione 2 o successive dell'SDK Kubeflow Pipelines.
pip install --upgrade kfp>=2,<3
Per utilizzare il client Python di Vertex AI nelle tue pipeline, installa le librerie client di Vertex AI 1.7 o versioni successive.
Per utilizzare i servizi Vertex AI nelle tue pipeline, installa i componenti della pipeline di Google Cloud.
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 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 delle esecuzioni della pipeline vengono archiviati nella directory principale 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 chiamicreate_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 di gestore di uscita dsl.ExitHandler
. In questo modo, racchiudendo le attività nella funzione di gestore dell'uscita, 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 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: Attività "TASK_NAME" del job Vertex Pipelines "PIPELINE_NAME"
Da: Notifiche Google <notify-noreply@google.com>
Un saluto da Google,
L'attività "TASK_NAME" del job Vertex Pipelines "PIPELINE_NAME" è terminata con il seguente stato: {status}.
Ulteriori dettagli:
- Progetto: {project}
- Nome pipeline: PIPELINE_NAME
- ID job della pipeline: {pipeline_job_id}
- Ora di inizio: {start_time}
Per visualizzare questo job della pipeline nella console Cloud, utilizza il seguente link: {console_link}
Cordiali saluti,
Il team di AI di Google Cloud
In questo esempio:
{status}
rappresenta lo stato finale dell'attività, che può essereSUCCEEDED
,FAILED
oCANCELLED
.{project}
è il nome del progetto.{pipeline_job_id}
è l'ID univoco del job della pipeline.{start_time}
indica l'ora di inizio della pipeline.{console_link}
è un link ipertestuale al job della pipeline nella console Google Cloud.