एक टास्क को डेकोरेट करना
आपने Python का उपयोग करके एक विशेष Airflow टास्क लागू करने का निर्णय लिया है. यह टास्क Airflow के भीतर pull_file फंक्शन का उपयोग करके किसी फ़ाइल को डाउनलोड करके सिस्टम पर सेव करेगा. यह फंक्शन आपके लिए पहले से परिभाषित है.
requests लाइब्रेरी आपके लिए इम्पोर्ट की गई है, और Airflow dag ऑब्जेक्ट भी.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Apache Airflow परिचय
अभ्यास निर्देश
- 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()