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 परिवर्तन हुँदैन।