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:
        pass

pass ордуна тийиштүү 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'ти талап кылса, аны да конфигурациялаңыз.

Тектеш макалалар