Прокси арқылы бір шығыс HTTP сұрауы қажет Cloud Composer тапсырмасы үшін 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 шақырулары үшін HTTP проксилер тізімі сессияның HTTP прокси URL-іне үміткерлер ұсынады. Аутентификацияланған URL немесе басқа тіркелгі конфигурациясын орналастыруға арналған құпия көзінде сақтаңыз.

Сессия мен жауап функция аяқталғанда жабылады. trust_env=False Requests-тің ортамен интеграциясын өшіреді, осылайша мұраланған прокси параметрлері бұл клиенттің көзделген әрекетін алмастыра алмайды, сонымен қатар Requests-тің ортаға негізделген CA bundle таңдауын өшіреді. Қажет болса, көзделген CA bundle-ды осы клиенттің verify опциясы арқылы беріңіз.

Басқарылатын Airflow ортасы үшін конфигурацияланған орта айнымалыларының ауқымы кеңірек және платформамен анықталған шектеулері бар. Маршрутты осы сессияға беру шешімді осы тапсырманың HTTP операциясына байланыстырып ұстайды және worker процесіндегі басқа код үшін os.environ-ды өзгертпейді.

Қатысты мақалалар