Google Cloud Composer માં ટાસ્ક-સ્થાનિક Requests પ્રોક્સી
શેર કરેલા worker પ્રોસેસનું પ્રોક્સી પર્યાવરણ બદલવાને બદલે સ્પષ્ટ રૂટ સાથે ટાસ્ક-સ્થાનિક Requests Session બનાવો.
Cloud Composer ટાસ્કને જો પ્રોક્સી દ્વારા એક બહાર જતી HTTP વિનંતીની જરૂર હોય, તો ટાસ્કના callable ની અંદર HTTP ક્લાયન્ટ ગોઠવો:
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 bundle પસંદગી પણ બંધ કરે છે. જરૂર હોય તો આ ક્લાયન્ટના verify વિકલ્પ દ્વારા ઇચ્છિત CA bundle આપો.
મેનેજ કરેલા Airflow પર્યાવરણ માટે ગોઠવેલા પર્યાવરણ ચલોનો વ્યાપ વધુ છે અને પ્લેટફોર્મ-નિર્ધારિત મર્યાદાઓ છે. રૂટ આ Session ને આપવાથી નિર્ણય આ ટાસ્કની HTTP ક્રિયા સાથે જોડાયેલો રહે છે, worker પ્રોસેસમાંના બીજા કોડ માટે os.environ બદલ્યા વિના.