Proxy ng Requests na Lokal sa Gawain sa Google Cloud Composer
Gumawa ng Session ng Requests na lokal sa gawain na may tahasang ruta sa halip na baguhin ang proxy environment ng pinagsasaluhang proseso ng worker.
Para sa gawaing Cloud Composer na nangangailangan ng isang palabas na kahilingang HTTP sa pamamagitan ng proxy, i-configure ang HTTP client sa loob ng callable ng gawain:
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
Gamitin ang callable na ito sa pamamagitan ng umiiral na kaayusan ng gawain ng DAG. Dapat maabot ang proxy mula sa worker na nagpapatakbo ng gawain. Para sa pinapayagang pampublikong API na tawag na walang proxy authentication, ang listahan ng HTTP proxy ay nagbibigay ng mga kandidato para sa HTTP proxy URL ng session. Itago ang authenticated na URL o iba pang configuration ng account sa inilaan na pinagmulan ng secret ng deployment.
Nagsasara ang Session at tugon kapag lumabas ang function. Ang trust_env=False ay nagpapahinto sa integrasyon ng Requests sa environment, na pumipigil sa mga namamana na setting ng proxy na palitan ang nilalayong pag-uugali ng client na ito, at pinapahinto rin ang pagpili ng CA bundle ng Requests batay sa environment. Kung kailangan, ibigay ang nilalayong CA bundle sa pamamagitan ng opsyong verify ng client na ito.
Ang mga environment variable na naka-configure para sa pinamamahalaang environment ng Airflow ay may mas malawak na saklaw at mga paghihigpit na tinukoy ng platform. Ang pagpasa ng ruta sa Session na ito ay nagpapanatili ng desisyon na nakakabit sa operasyong HTTP ng gawaing ito nang hindi binabago ang os.environ para sa ibang code sa proseso ng worker.