Google Cloud Composer ішіндегі тапсырмаға жергілікті Requests проксиі
Ортақ worker процесінің прокси ортасын өзгертудің орнына нақты маршруты бар тапсырмаға жергілікті Requests сессиясын жасаңыз.
Прокси арқылы бір шығыс HTTP сұрауы қажет Cloud Composer тапсырмасы үшін 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 операциясына байланыстырып ұстайды және worker процесіндегі басқа код үшін os.environ-ды өзгертпейді.