Jinja로 템플릿 작성하기
Airflow를 더 많이 사용하면서 다양한 알림 콜백을 추가했지만, 받은 편지함에 매번 동일한 메시지가 쌓이고 있다는 사실을 깨달았습니다. 제목이 항상 똑같으니 원하는 메시지를 찾기가 쉽지 않습니다. Airflow의 Jinja 지원에 대해 읽고 나서, 각 DAG 실행마다 날짜 정보를 포함한 리포트를 보낼 수 있다는 것을 알게 되었습니다. 먼저 sales_update DAG를 수정하여 성공적으로 완료될 때 템플릿 제목이 포함된 이메일을 받도록 설정하기로 했습니다.
필요한 Airflow 임포트는 이미 준비되어 있으며, pull_sales_data와 generate_sales_report 태스크도 이미 정의되어 있습니다.
이 연습은 강의의 일부입니다
Python으로 배우는 Apache Airflow 입문
연습 안내
DAG가 오류 없이 완료되었을 때 이메일을 받을 수 있도록 설정하세요.
알림 이메일의
subject속성을 지정하세요.Jinja 템플릿을 사용하여 제목에 실행 날짜를 포함하세요:
Sales update successfully processed for YYYY-MM-DD
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Add a notification when successful, including date in the subject
@dag(start_date=datetime(2026,4,30),
____=SmtpNotifier(
from_email="[email protected]",
to="[email protected]",
____="Sales update successfully processed for {{ ____ }}"
))
def sales_update():
pull_sales_data() >> generate_sales_report()
sales_update()