Een taak decoreren
Je hebt besloten om een specifieke Airflow-taak te implementeren met Python. Deze taak moet een bestand downloaden en opslaan op het systeem binnen Airflow, met behulp van de functie pull_file. Deze functie is al voor je gedefinieerd.
De requests-bibliotheek is al voor je geïmporteerd, net als het Airflow-dagobject.
Deze oefening maakt deel uit van de cursus
Introductie tot Apache Airflow in Python
Oefeninstructies
- Importeer het benodigde object uit de Airflow-bibliotheek.
- Configureer de functie
pull_fileals een Airflow-taak. - Roep het taakobject aan.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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()