Локален за задачата 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 без прокси удостоверяване списъкът с HTTP проксита предлага кандидати за HTTP прокси URL на сесията. Пазете удостоверен URL или друга конфигурация на акаунт в предвидения за внедряването източник на тайни.
Сесията и отговорът се затварят при изход от функцията. trust_env=False изключва интеграцията на Requests със средата, което не позволява наследени прокси настройки да заменят желаното поведение на този клиент, а също изключва избора на CA bundle от Requests въз основа на средата. Ако е нужно, подайте желания CA bundle чрез опцията verify на този клиент.
Променливите на средата, конфигурирани за управлявана Airflow среда, имат по-широк обхват и ограничения, определени от платформата. Подаването на маршрута към тази сесия задържа решението към HTTP операцията на тази задача, без да променя os.environ за друг код в worker процеса.