Aan de slagBegin gratis

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

Bekijk cursus

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()
Code bewerken en uitvoeren