Пишемо з Jinja
Працюючи з Airflow, ви додали різні зворотні виклики для сповіщень, але помітили, що у скриньку щоразу приходять однакові повідомлення. Складно знайти потрібне, коли тема листа завжди одна й та сама. Прочитавши про підтримку Jinja в Airflow, ви зрозуміли, що можна додати ідентифікаційну інформацію, щоб ваші Dags надсилали звіт для кожного денного запуску. Ви вирішили почати з оновлення Dag sales_update, щоб після успішного завершення він надсилав вам електронний лист із шаблонною темою.
Усі необхідні імпорти Airflow уже доступні, а задачі pull_sales_data і generate_sales_report уже визначені.
Ця вправа є частиною курсу
Вступ до Apache Airflow на Python
Інструкції до вправи
Налаштуйте 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()