Google Cloud Composer дахь даалгаврын түвшний Requests прокси
Хуваалцсан worker процессын прокси орчныг өөрчлөхийн оронд тодорхой маршруттай даалгаврын түвшний Requests Session үүсгэ.
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 прокси жагсаалт нь session-ийн HTTP прокси URL-ийн сонголтыг өгдөг. Баталгаажсан URL эсвэл бусад бүртгэлийн тохиргоог байршуулалтын зориулалтын нууц эх сурвалжид хадгал.
Функц дуусахад Session болон хариу хаагдана. trust_env=False нь Requests-ийн орчны интеграц-ыг идэвхгүй болгож, өвлөгдсөн прокси тохиргоо энэ клиентийн зориулалтын зан төлөвийг орлуулахаас сэргийлнэ, мөн Requests-ийн орчин дахь CA багцын сонголтыг идэвхгүй болгоно. Шаардлагатай бол зориулалтын CA багцыг энэ клиентийн verify опцоор өг.
Удирдлагатай Airflow орчинд тохируулсан орчны хувьсагчид илүү өргөн хүрээтэй бөгөөд платформоос тодорхойлсон хязгаарлалттай. Маршрутыг энэ Session-д дамжуулснаар шийдвэр нь зөвхөн энэ даалгаврын HTTP үйлдэлд хамааралтай хэвээр байх ба worker процессын бусад кодын os.environ-ыг өөрчлөхгүй.