Bir görevi dekore etmek
Belirli bir Airflow görevini Python kullanarak uygulamaya karar verdin. Bu görev, Airflow içinde pull_file fonksiyonunu kullanarak bir dosyayı indirip sisteme kaydetmeli. Bu fonksiyon senin için zaten tanımlı.
requests kütüphanesi ve Airflow dag nesnesi senin için içe aktarıldı.
Bu egzersiz, kursun bir parçasıdır
Python ile Apache Airflow’a Giriş
Egzersiz talimatları
- Gerekli nesneyi Airflow kütüphanesinden içe aktar.
pull_filefonksiyonunu bir Airflow görevi olacak şekilde yapılandır.- Görev nesnesini çağır.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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()