Proxy Requests lokálny pre úlohu v Google Cloud Composer
Vytvorte reláciu Requests lokálnu pre úlohu s explicitnou trasou namiesto zmeny proxy prostredia zdieľaného procesu worker.
Ak úloha Cloud Composer potrebuje jednu odchádzajúcu HTTP požiadavku cez proxy, nakonfigurujte HTTP klienta vnútri callable úlohy:
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
Používajte tento callable cez existujúce usporiadanie úloh DAG. Proxy musí byť dostupné z worker, ktorý úlohu vykonáva. Pre povolené volania verejného API bez autentifikácie proxy zoznam proxy HTTP poskytuje kandidátov na URL proxy HTTP tejto relácie. Autentifikovanú URL alebo inú konfiguráciu účtu uchovávajte v zamýšľanom zdroji tajomstiev nasadenia.
Relácia a odpoveď sa zatvoria pri ukončení funkcie. trust_env=False vypína integráciu Requests s prostredím, čím bráni zdedeným nastaveniam proxy nahradiť zamýšľané správanie tohto klienta, a tiež vypína výber balíka CA v Requests na základe prostredia. Ak treba, zadajte zamýšľaný balík CA cez možnosť verify tohto klienta.
Premenné prostredia nakonfigurované pre spravované prostredie Airflow majú širší rozsah a obmedzenia definované platformou. Odovzdaním trasy tejto relácii zostáva rozhodnutie spojené s HTTP operáciou tejto úlohy bez zmeny os.environ pre iný kód v procese worker.