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 අවශ්ය නම් එය ද වින්යාස කරන්න.