Inizia subitoInizia gratis

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

Visualizza corso

Istruzioni dell'esercizio

  • Configura il Dag per inviarti un'email quando si conclude senza errori.

  • Imposta l'attributo subject dell'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()
Modifica ed esegui il codice