Mendekorasi sebuah tugas
Anda memutuskan untuk mengimplementasikan sebuah tugas Airflow khusus menggunakan Python. Tugas ini perlu mengunduh dan menyimpan sebuah file ke sistem di dalam Airflow, menggunakan fungsi pull_file. Fungsi ini sudah disediakan untuk Anda.
Pustaka requests sudah diimpor untuk Anda, begitu juga objek dag Airflow.
Latihan ini adalah bagian dari kursus
Pengantar Apache Airflow dengan Python
Petunjuk latihan
- Impor objek yang diperlukan dari pustaka Airflow.
- Konfigurasikan fungsi
pull_fileagar menjadi tugas Airflow. - Panggil objek tugas tersebut.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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()