Ja Cloud Composer uzdevumam nepieciešams viens izejošs HTTP pieprasījums caur starpniekserveri, konfigurējiet HTTP klientu uzdevuma callable iekšienē:

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

Izmantojiet šo callable caur esošo DAG uzdevumu izkārtojumu. Starpniekserverim jābūt sasniedzamam no worker, kas izpilda uzdevumu. Atļautiem publisko API izsaukumiem bez starpniekservera autentifikācijas HTTP starpniekserveru saraksts nodrošina kandidātus sesijas HTTP starpniekservera URL. Autentificētu URL vai citu konta konfigurāciju glabājiet izvietošanas paredzētajā noslēpumu avotā.

Sesija un atbilde tiek aizvērtas, funkcijai beidzoties. trust_env=False atspējo Requests vides integrāciju, neļaujot mantotajiem starpniekservera iestatījumiem aizstāt šī klienta paredzēto darbību, un arī atspējo Requests CA kopas izvēli, kas balstīta uz vidi. Ja nepieciešams, norādiet paredzēto CA kopu šī klienta opcijā verify.

Pārvaldītas Airflow vides vides mainīgajiem ir plašāks tvērums un platformas noteikti ierobežojumi. Nododot maršrutu šai sesijai, lēmums paliek piesaistīts šī uzdevuma HTTP darbībai, nemainot os.environ citam worker procesa kodam.

Saistītie raksti