Szablony Jinja w praktyce
W miarę jak coraz częściej korzystasz z Airflow, dodajesz różne wywołania zwrotne powiadomień – i szybko zauważasz, że w skrzynce odbiorczej zaczyna się robić bałagan. Temat wiadomości jest zawsze taki sam, więc trudno odszukać konkretny raport. Po zapoznaniu się z obsługą Jinja w Airflow wiesz już, że możesz wzbogacić temat o informacje identyfikujące każde uruchomienie. Postanawiasz zacząć od zaktualizowania DAG-a sales_update, tak aby po pomyślnym zakończeniu wysyłał e-mail z dynamicznie generowanym tematem.
Wszystkie niezbędne importy Airflow są już dostępne, a zadania pull_sales_data i generate_sales_report są już zdefiniowane.
To ćwiczenie jest częścią kursu
Wprowadzenie do Apache Airflow w Pythonie
Instrukcje do ćwiczenia
Skonfiguruj DAG-a, aby wysyłał e-mail po pomyślnym zakończeniu bez błędów.
Ustaw atrybut
subjectdla e-maila z powiadomieniem.Użyj szablonu Jinja, aby uwzględnić datę uruchomienia w temacie wiadomości:
Sales update successfully processed for YYYY-MM-DD
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()