Decorare un task
Hai deciso di implementare un task specifico di Airflow usando Python. Questo task deve scaricare e salvare un file sul sistema all'interno di Airflow, utilizzando la funzione pull_file. Questa funzione è già definita per te.
La libreria requests è già importata, così come l'oggetto dag di Airflow.
Questo esercizio fa parte del corso
Introduzione ad Apache Airflow in Python
Istruzioni dell'esercizio
- Importa l'oggetto necessario dalla libreria Airflow.
- Configura la funzione
pull_filecome task di Airflow. - Esegui l'oggetto task chiamandolo.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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()