Le pipeline di Gemini Enterprise Agent Platform possono inviarti una notifica in caso di esecuzione riuscita o non riuscita di una pipeline. Quando la pipeline viene chiusa, Google Cloud invia un'email di notifica dello stato finale agli indirizzi email che hai specificato.
Questa guida mostra come configurare le notifiche via email da una pipeline utilizzando il componente di notifica via email nell' Google Cloud SDK.
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
Per preparare il tuo Google Cloud progetto all'esecuzione delle pipeline di ML, segui le istruzioni riportate nella guida alla configurazione del tuo Google Cloud progetto.
Installa la versione 2 o successive dell'SDK Kubeflow Pipelines.
pip install --upgrade "kfp>=2,<3"
Per utilizzare il client Python di Gemini Enterprise Agent Platform nelle pipeline, installa le librerie client di Gemini Enterprise Agent Platform versione 1.7 o successive.
Per utilizzare i servizi di Gemini Enterprise Agent Platform 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 viene 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 può accedere l'account di servizio delle pipeline. Gli artefatti delle esecuzioni della pipeline vengono archiviati nella radice della pipeline.
La radice della pipeline può essere impostata come argomento dell'annotazione
@kfp.dsl.pipelinenella funzione della pipeline oppure quando chiamicreate_run_from_job_specper 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 un massimo di 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 del gestore di uscita in questo modo, specifichi che il componente di notifica via email deve segnalare lo stato di queste attività quando la pipeline viene chiusa. Ad esempio, se un'attività all'interno dei contenuti del gestore di uscita non riesce, 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, Gemini Enterprise Agent Platform invia un'email di notifica simile alla seguente quando la pipeline viene chiusa:
Subject: Vertex Pipelines job "PIPELINE_NAME" task "TASK_NAME"
From: Google Notifications <notify-noreply@google.com>
Hello Agent Platform Customer,
Gemini Enterprise Agent Platform Pipelines job "PIPELINE_NAME" task "TASK_NAME" ended with the following state: {status}.
Additional details:
- Project: {project}
- Pipeline name: PIPELINE_NAME
- Pipeline job ID: {pipeline_job_id}
- Start time: {start_time}
To view this pipeline job in Cloud Console, use the following link: {console_link}
Sincerely,
The Google Cloud AI Team
In questo esempio:
{status}rappresenta lo stato finale dell'attività, che può essereSUCCEEDED,FAILEDoCANCELLED.{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 Google Cloud console.