Առաջադրանքին տեղային 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-ի միջավայրի ինտեգրումը՝ թույլ չտալով ժառանգված պրոքսի կարգավորումներին փոխարինել այս հաճախորդի նախատեսված վարքը, և նաև անջատում է Requests-ի միջավայրի վրա հիմնված CA bundle-ի ընտրությունը։ Անհրաժեշտության դեպքում նախատեսված CA bundle-ը տրամադրեք այս հաճախորդի verify տարբերակով։
Կառավարվող Airflow միջավայրի համար կարգավորված միջավայրի փոփոխականներն ունեն ավելի լայն ընդգրկույթ և հարթակով սահմանված սահմանափակումներ։ Երթուղին այս նստաշրջանին փոխանցելը որոշումը կապում է այս առաջադրանքի HTTP գործողությանը՝ չփոխելով os.environ-ը worker գործընթացի մյուս կոդի համար։