Boto3 کلائنٹ کو ایک واضح پراکسی نقشہ دیں
botocore کے اندرونی حصوں کو بدلے بغیر راستے چننے کے لیے botocore Config.proxies کو کلائنٹ کنسٹرکٹر میں پاس کریں۔
Boto3، botocore کے Config آبجیکٹ کے ذریعے ایک واضح پراکسی پالیسی قبول کرتا ہے:
import boto3
from botocore.config import Config
network = Config(proxies={
'http': 'http://proxy.example:8080',
'https': 'http://proxy.example:8080',
})
s3 = boto3.client('s3', config=network)
نقشے کی کلیدیں منزل کا پروٹوکول چنتی ہیں۔ اقدار پراکسی اینڈ پوائنٹ بیان کرتی ہیں۔ یہ مثال HTTP اور HTTPS دونوں سروس درخواستیں ایک HTTP فارورڈ پراکسی کے ذریعے بھیجتی ہے۔ پراکسی اکاؤنٹ کے بغیر اجازت شدہ عوامی AWS اینڈ پوائنٹ کی جانچ کے لیے HTTP پراکسی فہرست سے ایک HTTP اندراج وہ دونوں URL فراہم کر سکتا ہے۔
https:// قدر کے لیے اس کے بجائے ایسا پراکسی سننے والا درکار ہوگا جو کلائنٹ سے TLS کنکشن قبول کرے۔ صرف HTTPS کلید سے مطابقت کے لیے قدر کی اسکیم نہ بدلیں۔
Config.proxies اس کلائنٹ کے لیے HTTP_PROXY اور HTTPS_PROXY ماحولیاتی متغیرات سے پراکسی کے انتخاب کو اوور رائیڈ کرتا ہے۔ دیگر کلائنٹ اپنے Config آبجیکٹس کے ساتھ بنائے جا سکتے ہیں؛ اسے بنانے سے پورے عمل کا ماحولیاتی متغیر نہیں بدلتا۔
اسے کسی ایپلیکیشن میں شامل کرتے وقت علاقہ اور دوبارہ کوشش کی پالیسی جیسے دیگر ضروری کلائنٹ اختیارات محفوظ رکھیں۔ AWS اسناد ایپلیکیشن کی معمول کی اسناد کنفیگریشن میں ہی رہتی ہیں۔ EndpointCreator یا botocore کے کسی اور نجی طریقے کو بدلنے کی ضرورت نہیں۔
HTTPS پراکسی سے TLS کنکشن کے لیے Config میں proxy_ca_bundle اور proxy_client_cert جیسے proxies_config اختیارات بھی ہیں۔ یہ پراکسی کنکشن پر اعتماد اور کلائنٹ سرٹیفکیٹ کی توثیق سے متعلق ہیں۔ یہ AWS سروس اینڈ پوائنٹ چننے یا AWS API درخواستوں پر دستخط کرنے سے الگ ہیں۔