Gemini Enterprise Agent Platform Pipelines kann Sie über den Erfolg oder das Fehlschlagen einer Pipeline-Ausführung informieren. Wenn die Pipeline beendet wird, Google Cloud sendet eine endgültige Statusbenachrichtigungs-E-Mail an die von Ihnen angegebenen E-Mail-Adressen.
In dieser Anleitung wird beschrieben, wie E-Mail-Benachrichtigungen aus einer Pipeline mithilfe der E-Mail-Benachrichtigungskomponente im Google Cloud SDK konfiguriert werden.
Hinweis
Bevor Sie eine Pipeline erstellen, die Benachrichtigungen sendet, richten Sie Ihr Projekt und Ihre Entwicklungsumgebung mit der folgenden Anleitung ein. Google Cloud
Folgen Sie der Anleitung unter Projekt konfigurieren Google Cloud , um Ihr Google Cloud Projekt zur Ausführung von ML-Pipelines vorzubereiten.
Installieren Sie Version 2 oder höher des Kubeflow Pipelines SDK.
pip install --upgrade "kfp>=2,<3"
Um den Python-Client von Gemini Enterprise Agent Platform in Ihren Pipelines zu verwenden, installieren Sie die Gemini Enterprise Agent Platform-Clientbibliothek v1.7 oder höher.
Wenn Sie Gemini Enterprise Agent Platform-Dienste in Ihren Pipelines nutzen möchten, installieren Sie die Google Cloud Pipelinekomponenten.
Benachrichtigung aus einer Pipeline senden
Das folgende Beispiel zeigt, wie E-Mail-Benachrichtigungen konfiguriert werden. Dazu wird eine E-Mail-Benachrichtigungsaufgabe (notify_email_task) definiert und dem Exit-Handler (dsl.ExitHandler) der Pipeline hinzugefügt. Diese Benachrichtigungsaufgabe ruft den Operator VertexNotificationEmailOp in der E-Mail-Benachrichtigungskomponente auf, wenn die Pipeline beendet wird.
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')
Dabei gilt:
PIPELINE_NAME: Der Name der Pipeline.
PIPELINE_ROOT_PATH: Geben Sie einen Cloud Storage-URI an, auf den das Pipelines-Dienstkonto zugreifen kann. Die Artefakte Ihrer Pipelineausführungen werden im Pipeline-Stammverzeichnis gespeichert.
Das Pipeline-Stammverzeichnis kann als Argument der Annotation
@kfp.dsl.pipelinefür die Pipelinefunktion festgelegt werden oder es kann beim Aufrufen voncreate_run_from_job_specfür die Erstellung einer Pipelineausführung festgelegt werden.TASK_NAME: Der Name der Pipelineaufgabe, für die Sie E-Mail-Benachrichtigungen konfigurieren.
RECIPIENTS_LIST: Eine durch Kommas getrennte Liste mit bis zu drei E-Mail-Adressen, an die die Benachrichtigungs-E-Mail gesendet werden soll.
Fügen Sie Ihre Pipelineaufgaben im Text der dsl.ExitHandler-Exit-Handler-Funktion hinzu. Wenn Sie die Aufgaben in der Exit-Handler-Funktion auf diese Weise zusammenfassen, geben Sie an, dass die Benachrichtigungs-E-Mail-Komponente den Status dieser Aufgaben melden soll, wenn die Pipeline beendet wird. Beispiel: Wenn eine Aufgabe innerhalb des Inhalts des Exit-Handlers fehlschlägt, meldet die Benachrichtigung den Status als fehlgeschlagen.
Beispiel für eine Benachrichtigungs-E-Mail
Wenn Sie E-Mail-Benachrichtigungen für eine Pipeline mit dem Codebeispiel unter Benachrichtigung aus einer Pipeline senden konfigurieren, sendet Gemini Enterprise Agent Platform eine E-Mail-Benachrichtigung ähnlich der folgenden, wenn die Pipeline beendet wird:
Betreff: Vertex Pipelines-Job „PIPELINE_NAME“ Aufgabe „TASK_NAME“
Von: Google Notifications <notify-noreply@google.com>
Hallo Agent Platform-Kunde,
Gemini Enterprise Agent Platform-Pipelines-Job „PIPELINE_NAME“ Aufgabe „TASK_NAME“ wurde mit dem folgenden Status beendet: {status}.
Weitere Informationen:
- Projekt: {project}
- Pipelinename: PIPELINE_NAME
- Pipeline-Job-ID: {pipeline_job_id}
- Startzeit: {start_time}
Sie können sich diesen Pipeline-Job in der Cloud Console unter dem folgenden Link ansehen: {console_link}
Viele Grüße
Das Google Cloud AI-Team
In diesem Fall gilt Folgendes:
{status}steht für den endgültigen Status der Aufgabe, entwederSUCCEEDED,FAILEDoderCANCELLED.{project}ist der Projektname.{pipeline_job_id}ist die eindeutige Pipelinejob-ID.{start_time}steht für die Startzeit der Pipeline.{console_link}ist ein Hyperlink zum Pipeline-Job in der Google Cloud Console.