Google Cloud Composer मधील टास्क-लोकल Requests प्रॉक्सी
सामायिक worker प्रोसेसचे प्रॉक्सी वातावरण बदलण्याऐवजी स्पष्ट मार्गासह टास्क-लोकल Requests Session तयार करा.
Cloud Composer टास्कला प्रॉक्सीमधून एक आउटबाउंड HTTP विनंती आवश्यक असल्यास, HTTP क्लायंट टास्कच्या callable मध्ये कॉन्फिगर करा:
def fetch_status():
import requests
with requests.Session() as session:
session.trust_env = False
with session.get(
'https://api.example/health',
proxies={'https': 'http://proxy.example:8080'},
timeout=(5, 30),
) as response:
response.raise_for_status()
return response.status_code
हा callable DAG च्या विद्यमान टास्क मांडणीद्वारे वापरा. प्रॉक्सी टास्क चालवणाऱ्या worker वरून पोहोचण्यायोग्य असणे आवश्यक आहे. प्रॉक्सी प्रमाणीकरण नसलेल्या परवानगी असलेल्या सार्वजनिक API कॉलसाठी, HTTP प्रॉक्सी सूची सत्राच्या HTTP प्रॉक्सी URL साठी उमेदवार पुरवते. प्रमाणीकृत URL किंवा इतर खाते कॉन्फिगरेशन डिप्लॉयमेंटच्या निर्धारित सीक्रेट स्रोतात ठेवा.
फंक्शन संपल्यावर Session आणि प्रतिसाद बंद होतात. trust_env=False Requests चे वातावरण एकत्रीकरण अक्षम करते, ज्यामुळे वारसाहक्काने मिळालेली प्रॉक्सी सेटिंग्ज या क्लायंटचे इच्छित वर्तन बदलू शकत नाहीत, आणि Requests ची वातावरणाधारित CA बंडल निवडही अक्षम करते. आवश्यक असल्यास या क्लायंटच्या verify पर्यायाद्वारे इच्छित CA बंडल द्या.
व्यवस्थापित Airflow वातावरणासाठी कॉन्फिगर केलेल्या वातावरण चलांची व्याप्ती मोठी असते आणि प्लॅटफॉर्मने ठरवलेली बंधने असतात. मार्ग या Session ला देऊन निर्णय या टास्कच्या HTTP क्रियेशी जोडलेला राहतो आणि worker प्रोसेसमधील इतर कोडसाठी os.environ बदलत नाही.