Een SmtpNotifier implementeren
Nu je met succes een failure-callback hebt gemaakt, heeft je teamlead gevraagd om alle succesvolle Dag-runs per e-mail naar een teamalias te sturen. Na het doornemen van de Airflow-documentatie besluit je dat het ingebouwde notifier-framework van Airflow je beste optie is.
De dag- en task-objecten zijn al geïmporteerd, de callbackfunctie alert_on_failure en de taken get_sales_data en process_sales_data zijn al voor je gedefinieerd.
Deze oefening maakt deel uit van de cursus
Introductie tot Apache Airflow in Python
Oefeninstructies
- Importeer het SMTP-notifierobject.
- Voeg een success-callbackattribuut toe aan de Dag.
- Stuur de melding naar [email protected].
- Voeg een onderwerp toe.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# 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()