ÎncepețiÎncepe gratuit

Scriere cu Jinja

Pe măsură ce ai început să lucrezi mai mult cu Airflow, ai adăugat diverse callback-uri de notificare, dar realizezi că primești același mesaj în inbox de fiecare dată. E greu să găsești un mesaj când subiectul este mereu identic. După ce ai citit despre suportul Jinja în Airflow, îți dai seama că poți adăuga informații de identificare pentru ca DAG-urile tale să trimită un raport pentru fiecare rulare zilnică. Ai decis să începi prin actualizarea DAG-ului sales_update, astfel încât acesta să îți trimită un e-mail cu un subiect bazat pe template atunci când se finalizează cu succes.

Toate importurile Airflow necesare sunt deja disponibile, iar task-urile pull_sales_data și generate_sales_report sunt deja definite.

Acest exercițiu face parte din cursul

Introducere în Apache Airflow în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Configurează DAG-ul să îți trimită un e-mail când se finalizează fără erori.

  • Setează atributul subject pentru e-mailul de notificare.

  • Folosește un template Jinja pentru a include data rulării în subiectul e-mailului:

    Sales update successfully processed for YYYY-MM-DD

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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()
Editează și rulează codul