Azure Blob'дун Python кардары үчүн SOCKS5 проксисин конфигурациялоо
Берилген Requests сессиясын өзүн конфигурациялаңыз, андан кийин анын жашоо циклин синхрондук Blob кардарынан тышкары session_owner=False менен кармаңыз.
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 тандоону да өчүрөт. Керек болсо, чыныгы кызмат үчүн талап кылынган тамырлар менен RequestsTransport'ко connection_verify="/path/to/ca-bundle.pem" бериңиз.
Blob кардары сырткы сессия контекстинен мурун жабылат. session_owner=False ээликти ошол сырткы блокто калтырат. Өзүнчө түзүлгөн токен каттоо эсебинин башка HTTP транспорту болушу мүмкүн; эгер аны алуу SOCKS'ти талап кылса, аны да конфигурациялаңыз.