Cloud Composeri ülesande jaoks, mis vajab ühte väljuvat HTTP-päringut proxy kaudu, seadistage HTTP-klient ülesande callable'i sees:

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

Kasutage seda callable'it DAG-i olemasoleva ülesandekorralduse kaudu. Proxy peab olema kättesaadav workerist, mis seda täidab. Lubatud avalike API-kutsete jaoks ilma proxy-autentimiseta pakub HTTP-proxyde loend kandidaate sessiooni HTTP-proxy URL-ile. Hoidke autenditud URL või muu konto konfiguratsioon juurutuse jaoks ette nähtud saladuste allikas.

Sessioon ja vastus suletakse funktsiooni lõppedes. trust_env=False lülitab välja Requestsi keskkonnaintegratsiooni, mistõttu päritud proxy-seaded ei saa asendada selle kliendi kavandatud käitumist, ning lülitab välja ka Requestsi keskkonnapõhise CA-kimbu valiku. Vajadusel edastage kavandatud CA-kimp selle kliendi verify-valiku kaudu.

Haldatud Airflow-keskkonna jaoks seadistatud keskkonnamuutujatel on laiem ulatus ja platvormi määratud piirangud. Tee edastamine sellele sessioonile hoiab otsuse seotud selle ülesande HTTP-toiminguga, muutmata os.environ'i worker-protsessi muu koodi jaoks.

Seotud artiklid