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.

Поврзани статии