Cloud Composer ടാസ്കിന് പ്രോക്സി വഴി ഒരു ഔട്ട്ബൗണ്ട് HTTP അഭ്യർത്ഥന ആവശ്യമാണെങ്കിൽ, ടാസ്കിന്റെ callable-നുള്ളിൽ 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-ന്റെ നിലവിലുള്ള ടാസ്ക് ക്രമീകരണത്തിലൂടെ ഈ callable ഉപയോഗിക്കുക. ടാസ്ക് എക്സിക്യൂട്ട് ചെയ്യുന്ന worker-ൽ നിന്ന് പ്രോക്സി ലഭ്യമായിരിക്കണം. പ്രോക്സി ഓത്തന്റിക്കേഷൻ ഇല്ലാത്ത അനുവദനീയമായ പൊതു API കോളുകൾക്ക്, HTTP പ്രോക്സി ലിസ്റ്റ് സെഷന്റെ HTTP പ്രോക്സി URL-ന് സ്ഥാനാർത്ഥികൾ നൽകുന്നു. ഓത്തന്റിക്കേറ്റഡ് URL അല്ലെങ്കിൽ മറ്റ് അക്കൗണ്ട് കോൺഫിഗറേഷൻ ഡിപ്ലോയ്മെന്റിന്റെ ഉദ്ദേശിച്ച സീക്രട്ട് ഉറവിടത്തിൽ സൂക്ഷിക്കുക.

ഫംഗ്ഷൻ അവസാനിക്കുമ്പോൾ Session-ഉം പ്രതികരണവും അടയ്ക്കുന്നു. trust_env=False Requests-ന്റെ എൻവയോൺമെന്റ് ഇന്റഗ്രേഷൻ പ്രവർത്തനരഹിതമാക്കുന്നു, അതുവഴി പാരമ്പര്യമായി ലഭിച്ച പ്രോക്സി ക്രമീകരണങ്ങൾക്ക് ഈ ക്ലയന്റിന്റെ ഉദ്ദേശിച്ച സ്വഭാവം മാറ്റാൻ കഴിയില്ല, കൂടാതെ Requests-ന്റെ എൻവയോൺമെന്റ് അടിസ്ഥാനമാക്കിയ CA ബണ്ടിൽ തിരഞ്ഞെടുപ്പും ഇത് പ്രവർത്തനരഹിതമാക്കുന്നു. ആവശ്യമെങ്കിൽ ഈ ക്ലയന്റിന്റെ verify ഓപ്ഷനിലൂടെ ഉദ്ദേശിച്ച CA ബണ്ടിൽ നൽകുക.

മാനേജ്ഡ് Airflow എൻവയോൺമെന്റിനായി കോൺഫിഗർ ചെയ്ത എൻവയോൺമെന്റ് വേരിയബിളുകൾക്ക് വിശാലമായ പരിധിയും പ്ലാറ്റ്ഫോം നിർവചിച്ച നിയന്ത്രണങ്ങളുമുണ്ട്. റൂട്ട് ഈ Session-ന് കൈമാറുന്നത് worker പ്രോസസിലെ മറ്റ് കോഡിനായി os.environ മാറ്റാതെ തീരുമാനം ഈ ടാസ്കിന്റെ HTTP ഓപ്പറേഷനിൽ നിലനിർത്തുന്നു.

അനുബന്ധ ലേഖനങ്ങൾ