Začněte nyníZačněte zdarma

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

Zobrazit kurz

Pokyny k cvičení

  • Nastav DAG tak, aby ti odeslal e-mail při úspěšném dokončení bez chyb.

  • Nastav atribut subject pro 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()
Upravit a spustit kód