Cloud Composer-ის დავალებისთვის, რომელსაც სჭირდება ერთი გამავალი 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-ის არსებული დავალებების განლაგებით. პროქსი უნდა იყოს მისაწვდომი იმ worker-იდან, რომელიც ამუშავებს მას. პროქსის ავთენტიფიკაციის გარეშე დაშვებული საჯარო API გამოძახებებისთვის HTTP პროქსების სია გთავაზობთ კანდიდატებს სესიის HTTP პროქსის URL-ისთვის. ავთენტიფიცირებული URL ან სხვა ანგარიშის კონფიგურაცია შეინახეთ განთავსებისთვის განკუთვნილ საიდუმლოთა წყაროში.

სესია და პასუხი იხურება ფუნქციის დასრულებისას. trust_env=False გამორთავს Requests-ის გარემოსთან ინტეგრაციას, რაც ხელს უშლის მემკვიდრეობით მიღებულ პროქსის პარამეტრებს შეცვალონ ამ კლიენტის განზრახული ქცევა, და ასევე გამორთავს Requests-ის გარემოზე დაფუძნებულ CA bundle-ის არჩევას. საჭიროების შემთხვევაში გადასცეთ განზრახული CA bundle ამ კლიენტის verify პარამეტრით.

მართული Airflow გარემოსთვის კონფიგურირებულ გარემოს ცვლადებს აქვს უფრო ფართო მოქმედების არე და პლატფორმით განსაზღვრული შეზღუდვები. მარშრუტის ამ სესიისთვის გადაცემა გადაწყვეტილებას ამ დავალების HTTP ოპერაციასთან აკავშირებს, worker პროცესში სხვა კოდისთვის os.environ-ის შეცვლის გარეშე.

დაკავშირებული სტატიები