Requests milliþjónn bundinn við verk í Google Cloud Composer
Búðu til Requests-lotu bundna við verkið með skýrri leið í stað þess að breyta milliþjónaumhverfi sameiginlegs worker-ferlis.
Fyrir Cloud Composer-verk sem þarf eina útleið HTTP-beiðni í gegnum milliþjón, stilltu HTTP-biðlarann inni í callable verksins:
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
Notaðu þetta callable í gegnum fyrirliggjandi verkaskipan DAG-sins. Milliþjónninn verður að vera aðgengilegur frá því worker sem keyrir verkið. Fyrir leyfðar köll í opinber API án milliþjónaaðkenningar býður HTTP-milliþjónalistinn upp á valkosti fyrir HTTP-milliþjónslóð lotunnar. Haltu auðkenndri slóð eða annarri reikningsuppsetningu í þeim leyndarmálagrunni sem er ætlaður fyrir uppsetninguna.
Lotunni og svarinu er lokað þegar fallinu lýkur. trust_env=False slökktir á umhverfisþættingu Requests, kemur í veg fyrir að erfdar milliþjónastillingar komi í stað ætlaðrar hegðunar þessa biðlara, og slökktir einnig á umhverfisbundnu vali Requests á CA-bunka. Veittu ætlaða CA-bunkann í gegnum verify-valkost þessa biðlara ef þörf krefur.
Umhverfisbreytur sem eru stilltar fyrir stýrt Airflow-umhverfi hafa víðtækara gildissvið og takmarkanir sem kerfið skilgreinir. Með því að færa leiðina yfir í þessa lotu helst ákvörðunin tengd HTTP-aðgerð þessa verks án þess að breyta os.environ fyrir annan kóða í worker-ferlinu.