Implementera en SmtpNotifier
Nu när du har skapat en felhanteringskallback har din teamledare bett om att alla lyckade DAG-körningar ska skickas via e-post till ett team-alias. Efter att ha gått igenom Airflow-dokumentationen bestämmer du dig för att använda Airflows inbyggda notifieringsramverk.
Objekten dag och task är redan importerade, och callback-funktionen alert_on_failure samt uppgifterna get_sales_data och process_sales_data är redan definierade åt dig.
Den här övningen är en del av kursen
Introduktion till Apache Airflow i Python
Övningsinstruktioner
- Importera SMTP-notifieringsobjektet.
- Lägg till ett attribut för lyckad-callback i DAG:en.
- Skicka notifieringen till [email protected].
- Ange ett ämne.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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()