Fyrir Cloud Composer-verk sem þarf eina útleið HTTP-beiðni í gegnum milliþjón, stilltu HTTP-biðlarann inni í callable verksins:

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

Notaðu þetta callable í gegnum fyrirliggjandi verkaskipan DAG-sins. Milliþjónninn verður að vera aðgengilegur frá því worker sem keyrir verkið. Fyrir leyfðar köll í opinber API án milliþjónaaðkenningar býður HTTP-milliþjónalistinn upp á valkosti fyrir HTTP-milliþjónslóð lotunnar. Haltu auðkenndri slóð eða annarri reikningsuppsetningu í þeim leyndarmálagrunni sem er ætlaður fyrir uppsetninguna.

Lotunni og svarinu er lokað þegar fallinu lýkur. trust_env=False slökktir á umhverfisþættingu Requests, kemur í veg fyrir að erfdar milliþjónastillingar komi í stað ætlaðrar hegðunar þessa biðlara, og slökktir einnig á umhverfisbundnu vali Requests á CA-bunka. Veittu ætlaða CA-bunkann í gegnum verify-valkost þessa biðlara ef þörf krefur.

Umhverfisbreytur sem eru stilltar fyrir stýrt Airflow-umhverfi hafa víðtækara gildissvið og takmarkanir sem kerfið skilgreinir. Með því að færa leiðina yfir í þessa lotu helst ákvörðunin tengd HTTP-aðgerð þessa verks án þess að breyta os.environ fyrir annan kóða í worker-ferlinu.

Tengdir greinar