Uzdevuma līmeņa Requests starpniekserveris Google Cloud Composer
Izveidojiet uzdevuma līmeņa Requests Session ar skaidru maršrutu, nevis mainiet koplietotā worker procesa starpniekservera vidi.
Ja Cloud Composer uzdevumam nepieciešams viens izejošs HTTP pieprasījums caur starpniekserveri, konfigurējiet HTTP klientu uzdevuma callable iekšienē:
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
Izmantojiet šo callable caur esošo DAG uzdevumu izkārtojumu. Starpniekserverim jābūt sasniedzamam no worker, kas izpilda uzdevumu. Atļautiem publisko API izsaukumiem bez starpniekservera autentifikācijas HTTP starpniekserveru saraksts nodrošina kandidātus sesijas HTTP starpniekservera URL. Autentificētu URL vai citu konta konfigurāciju glabājiet izvietošanas paredzētajā noslēpumu avotā.
Sesija un atbilde tiek aizvērtas, funkcijai beidzoties. trust_env=False atspējo Requests vides integrāciju, neļaujot mantotajiem starpniekservera iestatījumiem aizstāt šī klienta paredzēto darbību, un arī atspējo Requests CA kopas izvēli, kas balstīta uz vidi. Ja nepieciešams, norādiet paredzēto CA kopu šī klienta opcijā verify.
Pārvaldītas Airflow vides vides mainīgajiem ir plašāks tvērums un platformas noteikti ierobežojumi. Nododot maršrutu šai sesijai, lēmums paliek piesaistīts šī uzdevuma HTTP darbībai, nemainot os.environ citam worker procesa kodam.