وكيل Requests محلي للمهمة في Google Cloud Composer
أنشئ جلسة Requests محلية للمهمة بمسار صريح بدلًا من تغيير بيئة الوكيل لعملية عامل مشتركة.
لمهمة في Cloud Composer تحتاج إلى طلب HTTP صادر واحد عبر وكيل، اضبط عميل HTTP داخل الدالة القابلة للاستدعاء الخاصة بالمهمة:
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
استخدم هذه الدالة القابلة للاستدعاء عبر ترتيب المهام الحالي في DAG. يجب أن يكون الوكيل قابلًا للوصول من العامل الذي ينفذها. لاستدعاءات واجهات API العامة المسموح بها دون مصادقة وكيل، توفر قائمة وكلاء HTTP مرشحين لعنوان URL الخاص بوكيل HTTP للجلسة. احتفظ بعنوان URL موثق أو أي إعداد حساب آخر في مصدر الأسرار المقصود في عملية النشر.
تُغلق الجلسة والاستجابة عند انتهاء الدالة. يعطّل trust_env=False تكامل Requests مع البيئة، ما يمنع إعدادات الوكيل الموروثة من استبدال السلوك المقصود لهذا العميل، ويعطّل أيضًا اختيار Requests لحزمة CA بناءً على البيئة. مرّر حزمة CA المقصودة عبر خيار verify لهذا العميل عند الحاجة.
متغيرات البيئة المهيأة لبيئة Airflow مُدارة لها نطاق أوسع وقيود يحددها النظام الأساسي. إمرار المسار إلى هذه الجلسة يبقي القرار مرتبطًا بعملية HTTP لهذه المهمة دون تغيير os.environ لأكواد أخرى في عملية العامل.