SmtpNotifier 구현하기
실패 콜백을 성공적으로 만든 데 이어, 팀 리더로부터 DAG 실행이 성공할 때마다 팀 공용 이메일로 알림을 보내달라는 요청을 받았습니다. Airflow 공식 문서를 검토한 결과, Airflow의 내장 알림 프레임워크를 활용하는 것이 가장 적합한 방법이라고 판단했습니다.
dag와 task 객체는 이미 임포트되어 있으며, 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()