Kom igångKom igång gratis

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

Visa kurs

Ö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()
Redigera och kör kod