Aan de slagBegin gratis

Een callbackfunctie implementeren

Je hebt onlangs de taak gekregen om failure-callbacks toe te voegen aan de Dags die je team heeft gemaakt. Om te beginnen wil je een eenvoudige failure-callback toevoegen die een bericht naar het auditlog schrijft wanneer de sales_etl_dag faalt.

De objecten dag en task zijn al geïmporteerd en de taken get_sales_data en process_sales_data zijn aangemaakt.

Deze oefening maakt deel uit van de cursus

Introductie tot Apache Airflow in Python

Bekijk cursus

Oefeninstructies

  • Maak een callbackfunctie met de naam alert_on_failure.
  • Definieer de functie zodat deze alle objecten accepteert die Airflow doorgeeft.
  • Specificeer een failure-callback met de functie alert_on_failure.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# Create the callback function
def ____(____):
  dag_id = context["dag"].dag_id
  task_id = context["task_instance"].task_id
  print(f"Task {task_id} in Dag {dag_id} has failed.")
  
# Specify the Dag with a failure callback
@dag(dag_id='sales_etl_dag',
     ____=alert_on_failure
)
def sales_etl_dag():
  get_sales_data() >> process_sales_data()
  
sales_etl_dag()
Code bewerken en uitvoeren