이메일 알림 구성

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

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

시작하기 전에

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

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

  2. Kubeflow Pipelines SDK v2 이상을 설치합니다.

    pip install --upgrade kfp>=2,<3
    
  1. 파이프라인에 Vertex AI Python 클라이언트를 사용하려면 Vertex AI 클라이언트 라이브러리 v1.7 이상을 설치합니다.

  2. 파이프라인에서 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 콘솔에서 파이프라인 작업에 대한 하이퍼링크