Psaní se šablonami Jinja
Jak stále více pracuješ s Airflow, přidal/a jsi různé notifikační callbacky — jenže v inboxu ti přistávají pořád stejné zprávy. Když má každá předmět identický, těžko se v tom orientuje. Po přečtení dokumentace o podpoře Jinja v Airflow sis uvědomil/a, že můžeš do zpráv přidat rozlišující informace a zajistit, aby DAG posílal report pro každý den zvlášť. Rozhodl/a ses začít úpravou DAGu sales_update tak, aby ti po úspěšném dokončení odeslal e-mail s dynamickým předmětem.
Všechny potřebné importy z Airflow jsou již dostupné a tasky pull_sales_data a generate_sales_report jsou již definovány.
Toto cvičení je součástí kurzu
Úvod do Apache Airflow v Pythonu
Pokyny k cvičení
Nastav DAG tak, aby ti odeslal e-mail při úspěšném dokončení bez chyb.
Nastav atribut
subjectpro notifikační e-mail.Pomocí šablony Jinja zahrň datum spuštění do předmětu e-mailu:
Sales update successfully processed for YYYY-MM-DD
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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()