Fir eng Cloud Composer-Aufgab, déi een erausgänglechen HTTP-Ufro iwwer e Proxy brauch, konfiguréiert den HTTP-Client bannent dem Callable vun der Aufgab:

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

Benotzt dësen Callable iwwer déi bestoend Aufgabopstellung vum DAG. De Proxy muss vum Worker erreechbar sinn, deen en ausféiert. Fir erlaabte ëffentlech API-Opruff ouni Proxy-Authentifikatioun liwwert d'HTTP-Proxy-Lëscht Kandidaten fir d'HTTP-Proxy-URL vun der Sessioun. Halt eng authentifizéiert URL oder eng aner Kontokonfiguratioun an der Quell vu Geheimnisser, déi fir den Deployment virgesinn ass.

D'Sessioun an d'Äntwert ginn zou, wann d'Funktioun ophält. trust_env=False desaktivéiert d'Ëmweltintegratioun vu Requests, sou datt geierfte Proxy-Astellungen d'gewollt Verhalen vun dësem Client net ersetzen, an desaktivéiert och d'Ëmweltbaséiert Auswiel vum CA-Bundle duerch Requests. Gitt dat gewollt CA-Bundle bei Bedarf iwwer d'verify-Optioun vun dësem Client un.

Ëmweltvariabelen, déi fir eng verwalt Airflow-Ëmwelt konfiguréiert sinn, hunn eng méi grouss Spannwäit an duerch d'Plattform definéiert Aschränkungen. D'Wee un dës Sessioun ze ginn hält d'Entscheedung un d'HTTP-Operatioun vun dëser Aufgab gebonnen, ouni os.environ fir anere Code am Workerprozess ze änneren.

Ähnlech Artikelen