Decorar una tarea
Has decidido implementar una tarea concreta de Airflow usando Python. Esta tarea debe descargar y guardar un archivo en el sistema dentro de Airflow, usando la función pull_file. Esta función ya está definida para ti.
La biblioteca requests y el objeto dag de Airflow ya están importados.
Este ejercicio forma parte del curso
Introducción a Apache Airflow en Python
Instrucciones del ejercicio
- Importa el objeto necesario de la biblioteca de Airflow.
- Configura la función
pull_filepara que sea una tarea de Airflow. - Llama al objeto de tarea.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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()