Dekorowanie zadania
Postanawiasz zaimplementować konkretne zadanie Airflow w Pythonie. Zadanie ma pobierać plik i zapisywać go w systemie w ramach Airflow – do tego celu służy funkcja pull_file, która jest już zdefiniowana.
Biblioteka requests oraz obiekt dag Airflow są już zaimportowane.
To ćwiczenie jest częścią kursu
Wprowadzenie do Apache Airflow w Pythonie
Instrukcje do ćwiczenia
- Zaimportuj niezbędny obiekt z biblioteki Airflow.
- Skonfiguruj funkcję
pull_filejako zadanie Airflow. - Wywołaj obiekt zadania.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()