Google Cloud Composer ичиндеги тапшырмага жергиликтүү Requests прокси
Жалпы worker процессинин прокси чөйрөсүн өзгөртүүнүн ордуна так маршруттуу тапшырмага жергиликтүү Requests сессиясын түзүңүз.
Прокси аркылуу бир чыгыш HTTP сурамы керек болгон Cloud Composer тапшырмасы үчүн 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ды өзгөртпөстөн.