Don aikin Cloud Composer da ke buƙatar buƙatun HTTP guda ɗaya mai fita ta proxy, saita HTTP client a cikin callable na aikin:

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

Yi amfani da wannan callable ta hanyar tsarin ayyukan DAG da ke akwai. Proxy ɗin dole ne a same shi daga worker ɗin da ke aiwatar da shi. Don ƙyallin kira na API na jama'a ba tare da tabbatarwar proxy ba, jerin proxy na HTTP yana ba da 'yan takara don URL ɗin proxy na HTTP na zaman. Ka riƙe URL mai tabbatarwa ko wani saitin asusu a cikin tushen sirri da aka tanada don tura aikin.

Zaman da amsa suna rufewa lokacin da aikin ya ƙare. trust_env=False yana kashe haɗin Requests da yanayi, wanda ke hana saitunan proxy da aka gado maye gurbin halin da ake so na wannan client, sannan kuma yana kashe zaɓin CA bundle na Requests bisa yanayi. Ka ba da CA bundle ɗin da ake so ta zaɓin verify na wannan client idan ya cancanta.

Masu canza yanayi da aka saita don yanayin Airflow da ake sarrafawa suna da faɗi mafi girma da hani da dandali ke ayyana. Miƙa hanyar ga wannan Session yana riƙe shawarar da ke da alaƙa da aikin HTTP na wannan aiki ba tare da canza os.environ don wani code a cikin aikin worker ba.

Labarai masu alaƙa