Шаблонизация с помощью Jinja
По мере того как вы всё активнее используете Airflow, вы настроили различные уведомления с помощью колбэков, однако заметили, что получаете одинаковые сообщения снова и снова. Найти нужное письмо непросто, если тема всегда одна и та же. Изучив поддержку Jinja в Airflow, вы понимаете, что теперь можно добавить в тему идентифицирующую информацию — чтобы каждый запуск DAG отправлял отчёт с указанием соответствующей даты. Вы решаете начать с обновления 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()