Proxy Requests, lokalen za opravilo v Google Cloud Composer
Ustvarite sejo Requests, lokalno za opravilo, z izrecno potjo, namesto da spreminjate proxy okolje skupnega procesa worker.
Če opravilo Cloud Composer potrebuje eno odhodno zahtevo HTTP prek proxyja, konfigurirajte odjemalca HTTP znotraj callable opravila:
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
Ta callable uporabite prek obstoječe razporeditve opravil DAG. Proxy mora biti dosegljiv z workerja, ki izvaja opravilo. Za dovoljene klice javnega API brez preverjanja pristnosti proxyja seznam proxyjev HTTP ponuja kandidate za URL proxyja HTTP te seje. Preverjen URL ali drugo konfiguracijo računa hranite v predvidenem viru skrivnosti za uvajanje.
Seja in odgovor se zapreta, ko funkcija izstopi. trust_env=False onemogoči integracijo Requests z okoljem, s čimer podedovane nastavitve proxyja ne morejo zamenjati predvidenega vedenja tega odjemalca, in tudi onemogoči izbiro paketa CA v Requests na podlagi okolja. Po potrebi zagotovite predvideni paket CA prek možnosti verify tega odjemalca.
Spremenljivke okolja, konfigurirane za upravljano okolje Airflow, imajo širši obseg in omejitve, ki jih določa platforma. Če pot prepustite tej seji, odločitev ostane vezana na operacijo HTTP tega opravila, ne da bi spremenili os.environ za drugo kodo v procesu worker.