Azure Blob-ന്റെ Python ക്ലയന്റിനായി SOCKS5 പ്രോക്സി കോൺഫിഗർ ചെയ്യുക
നൽകിയ Requests സെഷൻ തന്നെ കോൺഫിഗർ ചെയ്യുക, തുടർന്ന് session_owner=False ഉപയോഗിച്ച് അതിന്റെ ആയുസ്സ് സിൻക്രണസ് Blob ക്ലയന്റിന് പുറത്ത് നിലനിർത്തുക.
import requests
from azure.core.pipeline.transport import RequestsTransport
from azure.storage.blob import BlobServiceClient
with requests.Session() as session:
session.trust_env = False
session.proxies["https"] = "socks5h://proxy.example:1080"
transport = RequestsTransport(session=session, session_owner=False)
with BlobServiceClient(
account_url=account_url,
credential=credential,
transport=transport,
) as client:
passpass-ന് പകരം ഉദ്ദേശിച്ച Blob പ്രവർത്തനം നിർവ്വഹിക്കുക, ആപ്പ്ലിക്കേഷന്റെ account_url, credential ഉപയോഗിച്ച്. Requests-ന്റെ ഓപ്ഷണൽ SOCKS ഡിപ്പൻഡൻസികൾ ഇതിനകം ഉണ്ടായിരിക്കണം. socks5h ലക്ഷ്യ DNS പ്രോക്സിയിലേക്ക് കൈമാറുന്നു. പൊതുവായി ആക്സസ് ചെയ്യാവുന്ന Blob എൻഡ്പോയിന്റിന്, പൊതു ഇടനിലക്കാർ അനുവദനീയമായിടത്ത്, SOCKS5 പ്രോക്സി പട്ടിക സെഷന്റെ പ്രോക്സി URL-ന് സ്ഥാനാർത്ഥികൾ നൽകുന്നു.
Requests-ന്റെ പരിസ്ഥിതി സംയോജനം നിയന്ത്രിക്കാൻ ഈ സെഷനിൽ trust_env സജ്ജമാക്കുക. RequestsTransport സെഷൻ സൃഷ്ടിക്കുമ്പോൾ പരിസ്ഥിതി ആരംഭീകരണം പ്രയോഗിക്കുന്നു, നിലവിലുള്ള ഒന്ന് നൽകുമ്പോഴല്ല. വ്യക്തമായ false മൂല്യം പ്രോക്സി പരിസ്ഥിതി ഇൻപുട്ടുകൾ ഈ പാത മാറ്റിസ്ഥാപിക്കുന്നത് തടയുന്നു.
ആ തിരഞ്ഞെടുപ്പ് പരിസ്ഥിതി അടിസ്ഥാനമാക്കിയ CA തിരഞ്ഞെടുപ്പും പ്രവർത്തനരഹിതമാക്കുന്നു. ആവശ്യമെങ്കിൽ, യഥാർത്ഥ സേവനത്തിന് ആവശ്യമായ റൂട്ടുകളോടെ connection_verify="/path/to/ca-bundle.pem" RequestsTransport-ന് നൽകുക.
ബാഹ്യ സെഷൻ സന്ദർഭത്തിന് മുമ്പ് Blob ക്ലയന്റ് അടയ്ക്കുന്നു. session_owner=False ഉടമസ്ഥത ആ ബാഹ്യ ബ്ലോക്കിൽ വിടുന്നു. വെവ്വേറെ സൃഷ്ടിച്ച ടോക്കൺ ക്രെഡൻഷ്യലിന് മറ്റൊരു HTTP ട്രാൻസ്പോർട്ട് ഉണ്ടാകാം; അതിന്റെ ലഭ്യതയ്ക്ക് SOCKS ആവശ്യമെങ്കിൽ അതും കോൺഫിഗർ ചെയ്യുക.