Bắt đầu ngayBắt đầu miễn phí

Thêm decorator cho một task

Bạn quyết định triển khai một task cụ thể của Airflow bằng Python. Task này cần tải xuống và lưu một tệp vào hệ thống trong Airflow, sử dụng hàm pull_file. Hàm này đã được định nghĩa sẵn cho bạn.

Thư viện requests và đối tượng dag của Airflow đã được import sẵn.

Bài tập này là một phần của khóa học

Giới thiệu về Apache Airflow bằng Python

Xem khóa học

Hướng dẫn bài tập

  • Import đối tượng cần thiết từ thư viện Airflow.
  • Cấu hình hàm pull_file để trở thành một task của Airflow.
  • Gọi đối tượng task.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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()
Chỉnh sửa và Chạy Mã