CommencezCommencez gratuitement

Écrire avec Jinja

À force d'utiliser davantage Airflow, vous avez ajouté diverses fonctions de rappel de notification, mais vous vous rendez compte que vous recevez chaque fois les mêmes messages dans votre boîte de réception. Difficile de vous y retrouver quand l'objet est toujours identique. Après avoir lu sur la prise en charge de Jinja dans Airflow, vous réalisez que vous pouvez ajouter de l'information d'identification pour vous assurer que vos Dags envoient un rapport pour chaque exécution quotidienne. Vous avez décidé de commencer par mettre à jour le Dag sales_update afin qu'il vous envoie un courriel avec un objet basé sur un gabarit lorsqu'il se termine avec succès.

Tous les importations Airflow nécessaires sont déjà disponibles, et les tâches pull_sales_data et generate_sales_report sont déjà définies.

Cette activité fait partie du cours

Introduction à Apache Airflow en Python

Voir le cours

Instructions de l’exercice

  • Configurez le Dag pour vous envoyer un courriel lorsqu'il se termine sans erreur.

  • Définissez l'attribut subject pour le courriel de notification.

  • Utilisez un gabarit Jinja pour inclure la date d'exécution dans la ligne d'objet :

    Mise à jour des ventes traitée avec succès pour YYYY-MM-DD

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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()
Modifier et exécuter le code