시작하기무료로 시작하기

SmtpNotifier 구현하기

실패 콜백을 성공적으로 만든 데 이어, 팀 리더로부터 DAG 실행이 성공할 때마다 팀 공용 이메일로 알림을 보내달라는 요청을 받았습니다. Airflow 공식 문서를 검토한 결과, Airflow의 내장 알림 프레임워크를 활용하는 것이 가장 적합한 방법이라고 판단했습니다.

dagtask 객체는 이미 임포트되어 있으며, alert_on_failure 콜백 함수와 get_sales_data, process_sales_data 태스크도 미리 정의되어 있습니다.

이 연습은 강의의 일부입니다

Python으로 배우는 Apache Airflow 입문

강의 보기

연습 안내

  • SMTP 알림 객체를 임포트하세요.
  • DAG에 성공 콜백 속성을 추가하세요.
  • [email protected]으로 알림을 전송하세요.
  • 이메일 제목을 포함하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Import the notifier
from airflow.providers.smtp.notifications.smtp import ____

# Add a success callback notifier
@dag(dag_id='sales_etl_dag',
     on_failure_callback=alert_on_failure,
     ____=SmtpNotifier(
         to="____",
         from_email="[email protected]",
         ____="sales_etl_dag run succeeded!"
     ))
def sales_etl_dag():
  get_sales_data() >> process_sales_data()
  
sales_etl_dag()
코드 편집 및 실행