Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
O Vertex AI Pipelines pode notificar sobre o sucesso ou a falha de uma execução de pipeline. Quando o pipeline é encerrado, o Google Cloud envia uma notificação final de status ao endereço de e-mail que você especificou.
Este guia mostra como configurar as notificações por e-mail a partir de um pipeline usando o componente de notificação por e-mail no SDK dos componentes de pipeline do Google Cloud.
Antes de começar
Antes de criar um pipeline para enviar notificações, use as instruções a seguir para configurar
o projeto do Google Cloud e o ambiente de desenvolvimento.
Instale a versão 1.8 ou mais recente do SDK do Kubeflow Pipelines.
(Opcional) Antes da instalação, execute o seguinte comando para ver qual versão do SDK do Kubeflow Pipelines está instalada no momento:
O exemplo a seguir mostra como configurar notificações por e-mail definindo uma tarefa de notificação de e-mail (notify_email_task) e adicionando-a ao gerenciador de saída do pipeline (dsl.ExitHandler). Essa tarefa de notificação invoca o operador VertexNotificationEmailOp no componente de notificação de e-mail quando o pipeline é encerrado.
fromkfpimportdslfromkfpimportcompilerfromgoogle_cloud_pipeline_components.v1.vertex_notification_emailimportVertexNotificationEmailOp@dsl.pipeline(name='PIPELINE_NAME',pipeline_root=PIPELINE_ROOT_PATH,)defTASK_NAME():notify_email_task=VertexNotificationEmailOp(recipients=RECIPIENTS_LIST)withdsl.ExitHandler(notify_email_task):# Add your pipeline tasks here.compiler.Compiler().compile(pipeline_func=notification_email_pipeline,package_path='notification_email_pipeline.yaml')
Substitua:
PIPELINE_NAME: o nome do pipeline.
PIPELINE_ROOT_PATH: especifique um URI do Cloud Storage que sua
conta de serviço de pipelines possa acessar. Os artefatos das execuções de pipeline são armazenados na raiz do pipeline.
A raiz do pipeline pode ser definida como um argumento da @kfp.dsl.pipeline
anotação na função do pipeline ou quando você chama
create_run_from_job_spec para criar uma execução de pipeline.
TASK_NAME: o nome da tarefa do pipeline para que você está configurando notificações por e-mail.
RECIPIENTS_LIST: uma lista separada por vírgulas de até três endereços de e-mail para os quais
o e-mail de notificação será enviado.
Adicione as tarefas do pipeline ao corpo da função do gerenciador de saída dsl.ExitHandler. Ao agrupar as tarefas na função de gerenciador de saída, você especifica que o componente do e-mail de notificação vai informar o status dessas tarefas quando o pipeline for encerrado. Por exemplo, se uma tarefa no conteúdo do gerenciador de saída falhar, a notificação vai informar o status como falha.
Exemplo de um e-mail de notificação
Se você configurar notificações por e-mail para um pipeline usando o exemplo de código em Enviar uma notificação de um pipeline, a Vertex AI vai enviar uma notificação por e-mail semelhante à seguinte quando o pipeline for finalizado:
Assunto: Job do Vertex Pipelines "PIPELINE_NAME", tarefa "TASK_NAME"
De: Notificações do Google <notify-noreply@google.com>
Olá, cliente da Vertex AI
O job do Vertex Pipelines "PIPELINE_NAME", tarefa "TASK_NAME", foi finalizado com o seguinte status: {status}.
Outros detalhes:
- Projeto: {project}
- Nome do pipeline: PIPELINE_NAME
- ID do job no pipeline: {pipeline_job_id}
- Horário de início: {start_time}
Para explorar este job de pipeline no console do Cloud, use o link: {console_link}
Atenciosamente,
Equipe de IA do Google Cloud
Neste exemplo:
{status} representa o estado final da tarefa, que pode ser SUCCEEDED, FAILED ou CANCELLED.
{project} é o nome do projeto;
{pipeline_job_id} é o ID exclusivo do job do pipeline.
{start_time} representa o horário de início do pipeline.
{console_link} é um hiperlink para o job do pipeline no console do Google Cloud.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2024-10-01 UTC."],[],[],null,["# Configure email notifications\n\nVertex AI Pipelines can notify you of the success or failure of a pipeline run. When the pipeline exits, Google Cloud sends a final status notification email to the email addresses that you specify.\n\nThis guide shows how to configure email notifications from a pipeline\nby using the [Email notification\ncomponent](/vertex-ai/docs/pipelines/email-notification-component)\nin the Google Cloud SDK.\n| **Note:** Google retains the email addresses that you send notifications to for up to 14 days for debugging purposes and 30 days for analytics purposes.\n\nBefore you begin\n----------------\n\nBefore you build a pipeline that sends notifications, use the following instructions to set\nup your Google Cloud project and development environment.\n\n1. To get your Google Cloud project ready to run ML pipelines, follow the\n instructions in the guide to [configuring your\n Google Cloud project](/vertex-ai/docs/pipelines/configure-project).\n\n2. Install v2 or later of the Kubeflow Pipelines SDK.\n\n pip install --upgrade \"kfp\u003e=2,\u003c3\"\n\n| **Note:** To upgrade to the latest version of the Kubeflow Pipelines SDK, run the following command: \n| `pip install kfp --upgrade` \n| If an updated version is available, running this command uninstalls KFP and installs the latest version.\\\\\n\n1. To use Vertex AI Python client in your pipelines, [install the\n Vertex AI client libraries v1.7 or later](https://github.com/googleapis/python-aiplatform).\n\n2. To use Vertex AI services in your pipelines, [install the\n Google Cloud Pipeline Components](https://github.com/kubeflow/pipelines/tree/master/components/google-cloud#installation).\n\nSend a notification from a pipeline\n-----------------------------------\n\nThe following example shows how to configure email notifications by defining an email notification task (`notify_email_task`) and adding it to the pipeline's exit handler (`dsl.ExitHandler`). This notification task invokes the `VertexNotificationEmailOp` operator in the email notification component when the pipeline exits. \n\n from kfp import dsl\n from kfp import compiler\n from google_cloud_pipeline_components.v1.vertex_notification_email import VertexNotificationEmailOp\n\n @dsl.pipeline(\n name='\u003cvar translate=\"no\"\u003ePIPELINE_NAME\u003c/var\u003e',\n pipeline_root=\u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-n\"\u003ePIPELINE_ROOT_PATH\u003c/span\u003e\u003c/var\u003e,\n )\n def \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-nf\"\u003eTASK_NAME\u003c/span\u003e\u003c/var\u003e():\n notify_email_task = VertexNotificationEmailOp(recipients=\u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-n\"\u003eRECIPIENTS_LIST\u003c/span\u003e\u003c/var\u003e)\n\n with dsl.ExitHandler(notify_email_task):\n # Add your pipeline tasks here.\n\n compiler.Compiler().compile(pipeline_func=notification_email_pipeline,\n package_path='notification_email_pipeline.yaml')\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003ePIPELINE_NAME\u003c/var\u003e: The name of the pipeline.\n\n- \u003cvar translate=\"no\"\u003ePIPELINE_ROOT_PATH\u003c/var\u003e: Specify a Cloud Storage URI that your\n [pipelines service account can access](/vertex-ai/docs/pipelines/configure-project#service-account). The artifacts of your\n pipeline runs are stored within the pipeline root.\n\n The pipeline root can be set as an argument of the `@kfp.dsl.pipeline`\n annotation on the pipeline function, or it can be set when you call\n `create_run_from_job_spec` to create a pipeline run.\n- \u003cvar translate=\"no\"\u003eTASK_NAME\u003c/var\u003e: The name of the pipeline task for which you're configuring email notifications.\n\n- \u003cvar translate=\"no\"\u003eRECIPIENTS_LIST\u003c/var\u003e: A comma-separated list of up to three email addresses to\n send the notification email to.\n\nAdd your pipeline tasks in the body of the `dsl.ExitHandler` exit handler function. By wrapping the tasks in the exit handler function in this way, you specify that the notification email component should report the status of these tasks when the pipeline exits. For example, if a task within the exit handler's contents fails, then the notification reports the status as failed.\n\nExample of a notification email\n-------------------------------\n\nIf you configure email notifications for a pipeline using the code sample in [Send a notification from a pipeline](#sending-notification-from-pipeline), Vertex AI sends an email notification similar to the following when the pipeline exits:\n\u003e Subject: Vertex Pipelines job \"\u003cvar translate=\"no\"\u003ePIPELINE_NAME\u003c/var\u003e\" task \"\u003cvar translate=\"no\"\u003eTASK_NAME\u003c/var\u003e\" \n\u003e From: Google Notifications \\\u003cnotify-noreply@google.com\\\u003e \n\u003e\n\u003e Hello Vertex AI Customer, \n\u003e\n\u003e Vertex AI Pipelines job \"\u003cvar translate=\"no\"\u003ePIPELINE_NAME\u003c/var\u003e\" task \"\u003cvar translate=\"no\"\u003eTASK_NAME\u003c/var\u003e\" ended with the following state: {status}. \n\u003e\n\u003e Additional details: \n\u003e - Project: {project} \n\u003e - Pipeline name: \u003cvar translate=\"no\"\u003ePIPELINE_NAME\u003c/var\u003e \n\u003e - Pipeline job ID: {pipeline_job_id} \n\u003e - Start time: {start_time} \n\u003e\n\u003e To view this pipeline job in Cloud Console, use the following link: {console_link} \n\u003e\n\u003e Sincerely, \n\u003e The Google Cloud AI Team \n\nIn this example:\n\n- `{status}` represents the final state of the task, which can be `SUCCEEDED`, `FAILED`, or `CANCELLED`.\n- `{project}` is the project name.\n- `{pipeline_job_id}` is the unique pipeline job ID.\n- `{start_time}` represents the start time for the pipeline.\n- `{console_link}` is a hyperlink to the pipeline job in the Google Cloud console."]]