Proxy Requests lokale për detyrën në Google Cloud Composer
Krijo një Session Requests lokale për detyrën me një rrugë të qartë, në vend të ndryshimit të mjedisit të proxy-t të një procesi worker të përbashkët.
Për një detyrë Cloud Composer që kërkon një kërkesë HTTP dalëse përmes një proxy, konfiguro klientin HTTP brenda callable të detyrës:
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
Përdore këtë callable përmes renditjes ekzistuese të detyrave të DAG. Proxy duhet të jetë i arritshëm nga worker që ekzekuton detyrën. Për thirrjet e lejuara të API publike pa vërtetim proxy, lista e proxy-ve HTTP ofron kandidatë për URL-në e proxy-t HTTP të sesionit. Mbaj një URL të vërtetuar ose konfigurim tjetër të llogarisë në burimin e sekreteve të parashikuar të vendosjes.
Sesioni dhe përgjigjja mbyllen kur funksioni del. trust_env=False çaktivizon integrimin e Requests me mjedisin, duke penguar cilësimet e trashëguara të proxy-t të zëvendësojnë sjelljen e synuar të këtij klienti, dhe gjithashtu çaktivizon zgjedhjen e paketës CA në Requests bazuar në mjedis. Nëse nevojitet, jep paketën CA të synuar përmes opsionit verify të këtij klienti.
Variablat e mjedisit të konfiguruara për një mjedis Airflow të menaxhuar kanë shtrirje më të gjerë dhe kufizime të përcaktuara nga platforma. Kalimi i rrugës te ky Session e mban vendimin të lidhur me operacionin HTTP të kësaj detyre pa ndryshuar os.environ për kodin tjetër në procesin worker.