Cloud Composer ۋەزىپىسى proxy ئارقىلىق بىر سىرتقا چىقىدىغان 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 نىڭ مەۋجۇت ۋەزىپە تەرتىپى ئارقىلىق ئىشلىتىڭ. proxy ۋەزىپىنى ئىجرا قىلىۋاتقان worker دىن يېتىپ بارالايدىغان بولۇشى كېرەك. proxy دەلىللەش تەلەپ قىلمايدىغان رۇخسەت قىلىنغان ئاممىۋى API چاقىرىقلىرى ئۈچۈن، HTTP proxy تىزىملىكى سېشنىڭ HTTP proxy URL سى ئۈچۈن نامزاتلارنى تەمىنلەيدۇ. دەلىللەنگەن URL ياكى باشقا ھېسابات سەپلىمىسىنى قويغۇچىنىڭ بەلگىلەنگەن مەخپىيەت مەنبەسىدە ساقلاڭ.

فۇنكسىيە ئاخىرلاشقاندا Session ۋە ئىنكاس تاقىلىدۇ. trust_env=False Requests نىڭ مۇھىت بىرلەشمىسىنى ئىناكتىپ قىلىپ، مىراس قالغان proxy تەڭشەكلىرىنىڭ بۇ خېرىدارنىڭ مەقسەتلىك قىلمىشىنى ئالماشتۇرۇشىنى توسىدۇ، شۇنداقلا Requests نىڭ مۇھىتقا ئاساسلانغان CA بولىقى تاللىشىنىمۇ ئىناكتىپ قىلىدۇ. زۆرۈر بولسا، مەقسەتلىك CA بولىقىنى بۇ خېرىدارنىڭ verify تاللانمىسى ئارقىلىق بېرىڭ.

باشقۇرۇلىدىغان Airflow مۇھىتى ئۈچۈن سەپلەنگەن مۇھىت ئۆزگەرگۈچىلىرىنىڭ دائىرىسى كەڭرەك بولۇپ، سۇپا بەلگىلىگەن چەكلىمىلەر بار. يولنى بۇ Session غا بېرىش قارارنى مۇشۇ ۋەزىپىنىڭ HTTP مەشغۇلاتىغا باغلاپ تۇرىدۇ، worker جەريانىدىكى باشقا كود ئۈچۈن os.environ نى ئۆزگەرتمەيدۇ.

مۇناسىۋەتلىك ماقالىلەر