Google Cloud Composer లో టాస్క్-లోకల్ Requests ప్రాక్సీ
షేర్ చేసిన worker ప్రాసెస్ యొక్క ప్రాక్సీ వాతావరణాన్ని మార్చడం బదులు స్పష్టమైన మార్గంతో టాస్క్-లోకల్ Requests Session సృష్టించండి.
ప్రాక్సీ ద్వారా ఒక బాహ్య HTTP అభ్యర్థన అవసరమయ్యే Cloud Composer టాస్క్ కోసం, 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 మారదు.