НачатьНачать бесплатно

Шаблонизация с помощью 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()
Редактировать и запускать код