이메일 알림 구성

Vertex AI Pipelines는 파이프라인 실행의 성공 또는 실패를 알릴 수 있습니다. 파이프라인이 종료되면 Google Cloud는 사용자가 지정한 이메일 주소로 최종 상태 알림 이메일을 전송합니다.

이 가이드에서는 Google Cloud 파이프라인 구성요소 SDK에서 이메일 알림 구성요소를 사용하여 파이프라인에서 이메일 알림을 구성하는 방법을 보여줍니다.

시작하기 전에

알림을 보내는 파이프라인을 빌드하기 전에 다음 안내에 따라 Google Cloud 프로젝트 및 개발 환경을 설정합니다.

  1. ML 파이프라인을 실행하도록 Google Cloud 프로젝트를 준비하려면 Google Cloud 프로젝트 구성 가이드의 안내를 따릅니다.

  2. Kubeflow Pipelines SDK v1.8 이상을 설치합니다.
    (선택사항) 설치하기 전에 다음 명령어를 실행하여 현재 설치된 Kubeflow Pipelines SDK 버전을 확인합니다.

      pip freeze | grep kfp
    
  3. 파이프라인에 Vertex AI Python 클라이언트를 사용하려면 Vertex AI 클라이언트 라이브러리 v1.7 이상을 설치합니다.

  4. 파이프라인에서 Vertex AI 서비스를 사용하려면 Google Cloud 파이프라인 구성요소를 설치합니다.

파이프라인에서 알림 전송

다음 예시는 이메일 알림 태스크(notify_email_task)를 정의하고 파이프라인의 종료 핸들러(dsl.ExitHandler)에 추가하여 이메일 알림을 구성하는 방법을 보여줍니다. 이 알림 태스크은 파이프라인이 종료될 때 이메일 알림 구성요소의 VertexNotificationEmailOp 연산자를 호출합니다.

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')

다음을 바꿉니다.

  • PIPELINE_NAME: 파이프라인 이름입니다.

  • PIPELINE_ROOT_PATH: 파이프라인 서비스 계정이 액세스할 수 있는 Cloud Storage URI를 지정합니다. 파이프라인 실행의 아티팩트는 파이프라인 루트 내에 저장됩니다.

    파이프라인 루트는 파이프라인 함수에서 @kfp.dsl.pipeline 주석의 인수로 설정하거나 create_run_from_job_spec을 호출하여 파이프라인 실행을 만들 때 설정할 수 있습니다.

  • TASK_NAME: 이메일 알림을 구성하려는 파이프라인 태스크의 이름입니다.

  • RECIPIENTS_LIST: 알림 이메일을 보낼 이메일 주소(최대 3개)의 쉼표로 구분된 목록입니다.

dsl.ExitHandler 종료 핸들러 함수의 본문에 파이프라인 태스크를 추가합니다. 종료 핸들러 함수의 태스크를 이러한 방식으로 래핑하면 알림 이메일 구성요소가 파이프라인이 종료될 때 이러한 태스크의 상태를 보고하도록 지정합니다. 예를 들어 종료 핸들러의 콘텐츠 내의 태스크가 실패하면 알림은 상태를 실패로 보고합니다.

알림 이메일의 예

파이프라인에서 알림 보내기의 코드 샘플을 사용하여 파이프라인의 이메일 알림을 구성하면 파이프라인이 종료될 때 Vertex AI에서 다음과 유사한 이메일 알림을 보냅니다.

제목: Vertex 파이프라인 작업 'PIPELINE_NAME' 'TASK_NAME' 태스크
보낸사람: Google 알림 <notify-noreply@google.com>

Vertex AI 고객님, 안녕하세요.

Vertex 파이프라인 작업 'PIPELINE_NAME' 'TASK_NAME' 태스크 상태가 {status}로 종료되었습니다.

추가 세부정보:
- 프로젝트: {project}
- 파이프라인 이름:PIPELINE_NAME
- 파이프라인 작업 ID:{pipeline_job_id}
- 시작 시간: {start_time}

Cloud 콘솔에서 이 파이프라인 작업을 보려면 {console_link} 링크를 사용하세요.

감사합니다.
Google Cloud AI팀

이 예에서는 다음과 같이 정의됩니다.

  • {status}는 태스크의 최종 상태를 나타내며 SUCCEEDED, FAILED, CANCELLED 중 하나일 수 있습니다.
  • {project}는 프로젝트 이름입니다.
  • {pipeline_job_id}는 고유한 파이프라인 작업 ID입니다.
  • {start_time}은 파이프라인의 시작 시간을 나타냅니다.
  • {console_link}는 Google Cloud 콘솔에서 파이프라인 작업에 대한 하이퍼링크입니다.