Kwa jukumu la Cloud Composer linalohitaji ombi moja la HTTP la kutoka kupitia proksi, sanidi mteja wa HTTP ndani ya callable ya jukumu:

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

Tumia callable hii kupitia mpangilio uliopo wa majukumu wa DAG. Proksi lazima ifikiwe kutoka kwa worker anayetekeleza jukumu. Kwa simu za API za umma zinazoruhusiwa bila uthibitishaji wa proksi, orodha ya proksi za HTTP hutoa wagombea wa URL ya proksi ya HTTP ya session. Hifadhi URL iliyothibitishwa au usanidi mwingine wa akaunti katika chanzo cha siri kilichokusudiwa cha usambazaji.

Session na jibu hufungwa jukumu linapomaliza. trust_env=False huzima muunganisho wa Requests na mazingira, ikizuia mipangilio ya proksi iliyorithiwa kubadilisha tabia inayokusudiwa ya mteja huyu, na pia huzima uchaguzi wa pakiti ya CA wa Requests unaotegemea mazingira. Ikiwa inahitajika, toa pakiti ya CA inayokusudiwa kupitia chaguo la verify la mteja huyu.

Vigezo vya mazingira vilivyosanidiwa kwa mazingira ya Airflow yanayosimamiwa vina wigo mpana na vikwazo vilivyoainishwa na jukwaa. Kupeleka njia kwa Session hii huweka uamuzi ukiwa umeunganishwa na operesheni ya HTTP ya jukumu hili bila kubadilisha os.environ kwa msimbo mwingine katika mchakato wa worker.

Makala zinazohusiana