CommencerCommencer gratuitement

Décorer une tâche

Vous avez décidé d’implémenter une tâche Airflow spécifique en Python. Cette tâche doit télécharger et enregistrer un fichier sur le système dans 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.

Cet exercice fait partie du cours

Introduction à Apache Airflow en Python

Afficher le cours

Instructions

  • Importez l’objet nécessaire depuis 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 cet exemple de code.

# 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