Декорування завдання
Ви вирішили реалізувати конкретне завдання 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()