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 அல்லது பிற கணக்கு கட்டமைப்பை வரிசைப்படுத்தலின் நோக்கமான ரகசிய மூலத்தில் வைத்திருங்கள்.
செயல்பாடு முடிந்ததும் Session-உம் பதிலும் மூடப்படும். trust_env=False Requests-இன் சூழல் ஒருங்கிணைப்பை முடக்குகிறது, இதனால் மரபுவழி ப்ராக்ஸி அமைப்புகள் இந்த கிளையண்டின் நோக்கமான நடத்தையை மாற்ற முடியாது, மேலும் Requests-இன் சூழல் அடிப்படையிலான CA தொகுப்பு தேர்வையும் முடக்குகிறது. தேவைப்பட்டால், இந்த கிளையண்டின் verify விருப்பத்தின் வழியாக நோக்கமான CA தொகுப்பை வழங்கவும்.
நிர்வகிக்கப்படும் Airflow சூழலுக்காக கட்டமைக்கப்பட்ட சூழல் மாறிகள் பரந்த நோக்கத்தையும் தளத்தால் வரையறுக்கப்பட்ட கட்டுப்பாடுகளையும் கொண்டுள்ளன. பாதையை இந்த Session-க்கு அனுப்புவது, worker செயல்முறையில் உள்ள பிற குறியீட்டுக்கு os.environ-ஐ மாற்றாமல், முடிவை இந்தப் பணியின் HTTP செயல்பாட்டுடன் இணைத்து வைத்திருக்கிறது.