Azure Blob இன் Python client-க்கு SOCKS5 proxy உள்ளமைக்கவும்
வழங்கப்பட்ட Requests session-ஐத் தானே உள்ளமைத்து, பின்னர் session_owner=False உடன் அதன் ஆயுட்காலத்தை synchronous Blob client-க்கு வெளியே வைத்திருங்கள்.
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-ஐ proxy-க்கு ஒப்படைக்கிறது. பொதுவில் அணுகக்கூடிய Blob முடிவுப்புள்ளிக்கு, பொது இடைத்தரகர்கள் அனுமதிக்கப்படும் இடத்தில், SOCKS5 proxy பட்டியல் session-இன் proxy URL-க்கு வேட்பாளர்களை வழங்குகிறது.
Requests-இன் சூழல் ஒருங்கிணைப்பை கட்டுப்படுத்த இந்த session-இல் trust_env-ஐ அமைக்கவும். RequestsTransport ஒரு session-ஐ உருவாக்கும்போது சூழல் துவக்கத்தைப் பயன்படுத்துகிறது, ஏற்கனவே உள்ள ஒன்றைக் கொடுக்கும்போது அல்ல. வெளிப்படையான false மதிப்பு proxy சூழல் உள்ளீடுகள் இந்தப் பாதையை மாற்றுவதைத் தடுக்கிறது.
அந்தத் தேர்வு சூழல் அடிப்படையிலான CA தேர்வையும் முடக்குகிறது. தேவைப்பட்டால், உண்மையான சேவைக்குத் தேவையான வேர்களுடன் connection_verify="/path/to/ca-bundle.pem"-ஐ RequestsTransport-க்கு வழங்கவும்.
வெளிப்புற session சூழலுக்கு முன் Blob client மூடப்படுகிறது. session_owner=False உரிமையை அந்த வெளிப்புற தொகுதியிடம் விட்டுவிடுகிறது. தனியாக உருவாக்கப்பட்ட token சான்றுகளுக்கு வேறு HTTP போக்குவரத்து இருக்கலாம்; அதன் பெறுதல் SOCKS தேவைப்பட்டால் அதையும் உள்ளமைக்கவும்.