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
Instructions
- Importez l’objet nécessaire depuis la bibliothèque Airflow.
- Configurez la fonction
pull_filepour 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()