ПочатиПочніть безкоштовно

Декорування завдання

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