Kom igångKom igång gratis

Skriva med Jinja

Allteftersom du har arbetat mer med Airflow har du lagt till olika notifieringscallbacks, men du märker att du får samma meddelanden i inkorgen varje gång. Det är svårt att hitta ett specifikt meddelande när ämnesraden alltid ser likadan ut. Efter att ha läst om Airflows Jinja-stöd inser du att du kan lägga till identifierande information så att dina DAG:ar skickar en rapport för varje dags körning. Du bestämmer dig för att börja med att uppdatera DAG:en sales_update så att den skickar ett e-postmeddelande med en mallad ämnesrad när den slutförs utan fel.

Alla nödvändiga Airflow-importer finns redan tillgängliga, och uppgifterna pull_sales_data och generate_sales_report är redan definierade.

Den här övningen är en del av kursen

Introduktion till Apache Airflow i Python

Visa kurs

Övningsinstruktioner

  • Konfigurera DAG:en så att den skickar ett e-postmeddelande när den slutförs utan fel.

  • Ange attributet subject för notifieringsmejlet.

  • Använd en Jinja-mall för att inkludera körningsdatumet i ämnesraden:

    Sales update successfully processed for YYYY-MM-DD

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
Redigera och kör kod