Прокси Requests локалан за задатак у Google Cloud Composer-у
Направите Requests сесију локалну за задатак са експлицитном рутом уместо да мењате прокси окружење дељеног worker процеса.
Ако задатку 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-ја без proxy аутентификације, листа HTTP проксија даје кандидате за HTTP прокси URL сесије. Аутентификовани URL или другу конфигурацију налога чувајте у предвиђеном извору тајни за распоређивање.
Сесија и одговор се затварају када функција заврши. trust_env=False искључује Requests интеграцију са окружењем, спречавајући да наслеђена прокси подешавања замене предвиђено понашање овог клијента, и такође искључује избор CA пакета у Requests-у заснован на окружењу. Ако је потребно, обезбедите предвиђени CA пакет кроз verify опцију овог клијента.
Променљиве окружења конфигурисане за управљано Airflow окружење имају шири обим и ограничења дефинисана платформом. Прослеђивање руте овој сесији задржава одлуку везану за HTTP операцију овог задатка без мењања os.environ за други код у worker процесу.