Decorarea unui task
Ai decis să implementezi un task specific în Airflow folosind Python. Acest task trebuie să descarce și să salveze un fișier în sistem, în cadrul Airflow, utilizând funcția pull_file. Funcția este deja definită pentru tine.
Biblioteca requests este deja importată, la fel și obiectul dag din Airflow.
Acest exercițiu face parte din cursul
Introducere în Apache Airflow în Python
Instrucțiuni pentru exercițiu
- Importă obiectul necesar din biblioteca Airflow.
- Configurează funcția
pull_filesă fie un task Airflow. - Apelează obiectul task.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()