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>Ü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()