በGoogle Cloud Composer ውስጥ በተግባር ላይ የተመሠረተ የRequests ፕሮክሲ
የጋራ የሠራተኛ ሂደት ፕሮክሲ አካባቢን ከመቀየር ይልቅ ግልጽ መንገድ ያለው በተግባር ላይ የተመሠረተ 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 ነባር የተግባር አቀማመጥ በኩል ይጠቀሙ። ፕሮክሲው ተግባሩን ከሚያስፈጽም ሠራተኛ መድረስ አለበት። ያለ ፕሮክሲ ማረጋገጫ ለሚፈቀዱ የሕዝብ API ጥሪዎች የHTTP ፕሮክሲ ዝርዝር ለክፍለ ጊዜው HTTP ፕሮክሲ URL እጩዎችን ይሰጣል። የተረጋገጠ URL ወይም ሌላ የመለያ ውቅር በማሰማራቱ ታስቦ በነበረው ምስጢር ምንጭ ውስጥ ይኑር።
Session እና ምላሹ ተግባሩ ሲያበቃ ይዘጋሉ። trust_env=False የRequests የአካባቢ ውህደትን ያሰናክላል፤ በዚህም የተወረሱ የፕሮክሲ ቅንብሮች የዚህን ደንበኛ የታሰበ ባህሪ እንዳይተኩ ይከላከላል፣ እንዲሁም የRequests በአካባቢ ላይ የተመሠረተ የCA bundle ምርጫን ያሰናክላል። አስፈላጊ ከሆነ የታሰበውን CA bundle በዚህ ደንበኛ verify አማራጭ ያቅርቡ።
ለሚተዳደር Airflow አካባቢ የተዋቀሩ የአካባቢ ተለዋዋጮች ሰፊ ስፋት እና በመድረክ የተወሰኑ ገደቦች አሏቸው። መንገዱን ለዚህ Session መስጠት ውሳኔው ከዚህ ተግባር HTTP ክንውን ጋር እንዲጣበቅ ያደርጋል፣ በሠራተኛው ሂደት ውስጥ ላሉ ሌሎች ኮዶች os.environ ሳይቀየር።