Ако задатку Cloud Composer треба један одлазни HTTP захтев кроз прокси, конфигуришите HTTP клијент унутар callable-а задатка:

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

Користите овај callable кроз постојећи распоред задатака DAG-а. Прокси мора бити доступан са worker-а који извршава задатак. За дозвољене позиве јавног API-ја без proxy аутентификације, листа HTTP проксија даје кандидате за HTTP прокси URL сесије. Аутентификовани URL или другу конфигурацију налога чувајте у предвиђеном извору тајни за распоређивање.

Сесија и одговор се затварају када функција заврши. trust_env=False искључује Requests интеграцију са окружењем, спречавајући да наслеђена прокси подешавања замене предвиђено понашање овог клијента, и такође искључује избор CA пакета у Requests-у заснован на окружењу. Ако је потребно, обезбедите предвиђени CA пакет кроз verify опцију овог клијента.

Променљиве окружења конфигурисане за управљано Airflow окружење имају шири обим и ограничења дефинисана платформом. Прослеђивање руте овој сесији задржава одлуку везану за HTTP операцију овог задатка без мењања os.environ за други код у worker процесу.

Повезани чланци