Aan de slagBegin gratis

Schrijven met Jinja

Sinds je meer met Airflow werkt, heb je verschillende meldingscallbacks toegevoegd, maar je merkt dat je telkens dezelfde berichten in je inbox krijgt. Het is lastig om iets terug te vinden als het onderwerp altijd hetzelfde is. Na te hebben gelezen over Airflows Jinja-ondersteuning, bedenk je dat je nu identificerende informatie kunt toevoegen zodat je Dags voor elke dagrun een apart rapport sturen. Je besluit te beginnen met het updaten van de sales_update-Dag, zodat je een e-mail ontvangt met een getemplate onderwerp wanneer deze succesvol is afgerond.

Alle benodigde Airflow-imports zijn al beschikbaar en de taken pull_sales_data en generate_sales_report zijn al gedefinieerd.

Deze oefening maakt deel uit van de cursus

Introductie tot Apache Airflow in Python

Bekijk cursus

Oefeninstructies

  • Stel de Dag zo in dat je een e-mail krijgt wanneer deze zonder fouten voltooit.

  • Stel het attribuut subject in voor de meldingsmail.

  • Gebruik een Jinja-template om de run-datum in de onderwerpregel op te nemen:

    Sales update successfully processed for YYYY-MM-DD

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# 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()
Code bewerken en uitvoeren