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 yerine amaçlanan Blob işlemini gerçekleştirin ve uygulamanın account_url ile credential değerlerini kullanın. Requests'in isteğe bağlı SOCKS bağımlılıkları zaten mevcut olmalıdır. socks5h hedef DNS'i proxy'ye devreder. Genel aracıların izin verildiği herkese açık bir Blob uç noktası için SOCKS5 proxy listesi, oturumun proxy URL'si için adaylar sağlar.

Requests'in ortam entegrasyonunu denetlemek için bu oturumda trust_env değerini ayarlayın. RequestsTransport ortam başlatmasını bir oturum oluşturduğunda uygular, mevcut bir oturum verildiğinde değil. Açık false değeri, proxy ortamı girdilerinin bu rotayı değiştirmesini önler.

Bu seçim ortam tabanlı CA seçimini de devre dışı bırakır. Gerekirse, gerçek hizmet için gereken köklerle birlikte RequestsTransport'a connection_verify="/path/to/ca-bundle.pem" değerini verin.

Blob istemcisi dış oturum bağlamından önce kapanır. session_owner=False sahipliği o dış blokta bırakır. Ayrı olarak oluşturulan token kimlik bilgisi başka bir HTTP taşımasına sahip olabilir; edinimi SOCKS gerektiriyorsa onu da yapılandırın.

İlgili makaleler