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
Instructions de l’exercice
- Importez l'objet nécessaire de 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 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()