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.

Artikuj të ngjashëm