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 അഭ്യർത്ഥനകൾ ഒപ്പിടുന്നതിൽ നിന്നും ഇവ വേറിട്ടതാണ്.