Google Cloud Composer හි කාර්ය-දේශීය Requests ප්රොක්සි
බෙදාගත් worker ක්රියාවලියේ ප්රොක්සි පරිසරය වෙනස් කිරීම වෙනුවට පැහැදිලි මාර්ගයක් සහිත කාර්ය-දේශීය Requests Session එකක් සාදන්න.
ප්රොක්සියක් හරහා එක් පිටතට යන 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 එකක් හෝ වෙනත් ගිණුම් වින්යාසයක් deploy කිරීමේ අදහස් කරන රහස් මූලාශ්රයේ තබන්න.
ශ්රිතය අවසන් වන විට Session සහ ප්රතිචාරය වැසේ. trust_env=False මගින් Requests හි පරිසර ඒකාබද්ධතාව අබල කරයි, එමගින් උරුම වූ ප්රොක්සි සැකසුම් මෙම සේවාලාභියාගේ අපේක්ෂිත හැසිරීම ප්රතිස්ථාපනය කිරීම වළක්වයි, එසේම Requests හි පරිසරය මත පදනම් වූ CA කාණ්ඩ තේරීම ද අබල කරයි. අවශ්ය නම්, මෙම සේවාලාභියාගේ verify විකල්පය හරහා අපේක්ෂිත CA කාණ්ඩය සපයන්න.
කළමනාකරණය වන Airflow පරිසරයක් සඳහා වින්යාස කරන ලද පරිසර විචල්යයන්ට පුළුල් විෂය පථයක් සහ වේදිකාව විසින් නිර්වචනය කළ සීමා ඇත. මාර්ගය මෙම Session වෙත ලබා දීමෙන් තීරණය මෙම කාර්යයේ HTTP ක්රියාවලියට සම්බන්ධව තබා ගනී, worker ක්රියාවලියේ වෙනත් කේත සඳහා os.environ වෙනස් නොකරයි.