Конфигурисање SOCKS5 проксија за Azure Blob Python клијент
Конфигуришите саму достављену 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:
passИзвршите предвиђену Blob операцију уместо pass, користећи account_url и credential апликације. Необавезне SOCKS зависности Requests-а већ морају бити присутне. socks5h делегира DNS одредишта проксију. За јавно доступну Blob крајњу тачку где су јавни посредници дозвољени, листа SOCKS5 проксија нуди кандидате за прокси URL сесије.
Поставите trust_env на овој сесији да бисте контролисали интеграцију Requests-а са окружењем. RequestsTransport примењује иницијализацију окружења када креира сесију, а не када му се преда постојећа. Експлицитна вредност false спречава да уноси прокси окружења замене ову руту.
Тај избор такође онемогућава избор CA на основу окружења. Ако је потребно, доставите connection_verify="/path/to/ca-bundle.pem" RequestsTransport-у, са коренима потребним за стварну услугу.
Blob клијент се затвара пре спољашњег контекста сесије. session_owner=False оставља власништво на том спољашњем блоку. Токен акредитив креиран одвојено може имати други HTTP транспорт; конфигуришите га такође ако његово прибављање захтева SOCKS.