Google Cloud Composer ରେ ଟାସ୍କ-ସ୍ଥାନୀୟ Requests ପ୍ରକ୍ସି
ସେୟାର ହୋଇଥିବା worker ପ୍ରକ୍ରିୟାର ପ୍ରକ୍ସି ପରିବେଶ ପରିବର୍ତ୍ତନ ନକରି ସ୍ପଷ୍ଟ ମାର୍ଗ ସହିତ ଟାସ୍କ-ସ୍ଥାନୀୟ Requests Session ତିଆରି କରନ୍ତୁ।
Cloud Composer ଟାସ୍କକୁ ପ୍ରକ୍ସି ମାଧ୍ୟମରେ ଗୋଟିଏ ବାହ୍ୟ HTTP ଅନୁରୋଧ ଆବଶ୍ୟକ ହେଲେ, 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 କୁ ଦେବା ଦ୍ୱାରା ନିଷ୍ପତ୍ତି ଏହି ଟାସ୍କର HTTP କାର୍ଯ୍ୟ ସହିତ ସଂଯୁକ୍ତ ରହେ ଏବଂ worker ପ୍ରକ୍ରିୟାର ଅନ୍ୟ କୋଡ ପାଇଁ os.environ ପରିବର୍ତ୍ତନ ହୁଏ ନାହିଁ।