CommencezCommencez gratuitement

Décorer une tâche

Vous avez décidé d'implanter une tâche Airflow précise en Python. Cette tâche doit télécharger et enregistrer un fichier dans le système à l'intérieur d'Airflow, en utilisant la fonction pull_file. Cette fonction est déjà définie pour vous.

La bibliothèque requests est importée pour vous, tout comme l'objet dag d'Airflow.

Cette activité fait partie du cours

Introduction à Apache Airflow en Python

Voir le cours

Instructions de l’exercice

  • Importez l'objet nécessaire de la bibliothèque Airflow.
  • Configurez la fonction pull_file pour qu'elle devienne une tâche Airflow.
  • Appelez l'objet tâche.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Import the task decorator
from ____ import ____

@dag(dag_id='file_update')
def file_update():
  # Decorate the function as a task
  ____
  def pull_file(URL, savepath):
    r = requests.get(URL)
    with open(savepath, 'wb') as f:
      f.write(r.content)   
    print(f"File pulled from {URL} and saved to {savepath}")
  # Call the task
  ____('http://dataserver/sales.json', 'latestsales.json')

file_update()
Modifier et exécuter le code