Scrivere con Jinja
Man mano che hai iniziato a usare di più Airflow, hai aggiunto varie callback di notifica, ma ti sei accorto che ricevi ogni volta gli stessi messaggi in inbox. È difficile trovare quello giusto se l'oggetto è sempre identico. Dopo aver letto del supporto di Airflow a Jinja, ti rendi conto che puoi aggiungere informazioni identificative per fare in modo che i tuoi Dag inviino un report per ogni esecuzione giornaliera. Hai deciso di iniziare aggiornando il Dag sales_update per inviarti un'email con un oggetto basato su un template quando termina con successo.
Tutti gli import necessari di Airflow sono già disponibili e i task pull_sales_data e generate_sales_report sono già definiti.
Questo esercizio fa parte del corso
Introduzione ad Apache Airflow in Python
Istruzioni dell'esercizio
Configura il Dag per inviarti un'email quando si conclude senza errori.
Imposta l'attributo
subjectdell'email di notifica.Usa un template Jinja per includere la data di esecuzione nell'oggetto:
Sales update successfully processed for YYYY-MM-DD
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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()