LoslegenKostenlos starten

Einen SmtpNotifier implementieren

Nachdem du erfolgreich einen Failure-Callback erstellt hast, hat deine Teamleitung gebeten, dass alle erfolgreichen Dag-Runs per E-Mail an einen Team-Alias gesendet werden. Nach Durchsicht der Airflow-Dokumentation entscheidest du, dass das integrierte Notifier-Framework von Airflow die beste Option ist.

Die Objekte dag und task sind bereits importiert, die Callback-Funktion alert_on_failure sowie die Tasks get_sales_data und process_sales_data sind bereits für dich definiert.

Diese Übung ist Teil des Kurses

<Kurs>Einführung in Apache Airflow mit Python</Kurs>
Kurs ansehen

Übungsanweisungen

  • Importiere das SMTP-Notifier-Objekt.
  • Füge dem Dag ein Success-Callback-Attribut hinzu.
  • Sende die Benachrichtigung an [email protected].
  • Füge einen Betreff hinzu.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# Import the notifier
from airflow.providers.smtp.notifications.smtp import ____

# Add a success callback notifier
@dag(dag_id='sales_etl_dag',
     on_failure_callback=alert_on_failure,
     ____=SmtpNotifier(
         to="____",
         from_email="[email protected]",
         ____="sales_etl_dag run succeeded!"
     ))
def sales_etl_dag():
  get_sales_data() >> process_sales_data()
  
sales_etl_dag()
Code bearbeiten und ausführen