Создание задачи с помощью декоратора
Вы решили реализовать конкретную задачу Airflow на Python. Эта задача должна загружать файл и сохранять его в системе в рамках Airflow — с помощью функции pull_file. Функция уже определена за вас.
Библиотека requests и объект dag Airflow уже импортированы.
Это упражнение является частью курса
Введение в Apache Airflow на Python
Инструкции к упражнению
- Импортируйте необходимый объект из библиотеки Airflow.
- Настройте функцию
pull_fileкак задачу Airflow. - Вызовите объект задачи.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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()