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 অনুরোধ স্বাক্ষর করা থেকে আলাদা।