ПочатиПочніть безкоштовно

Пишемо з 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()
Редагувати та запускати код