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

Executa a operación Blob prevista no canto de pass, usando o account_url e a credential da aplicación. As dependencias SOCKS opcionais de Requests xa deben estar presentes. socks5h delega o DNS de destino ao proxy. Para un punto final de Blob accesible publicamente onde se permiten intermediarios públicos, a lista de proxies SOCKS5 ofrece candidatos para o URL de proxy da sesión.

Establece trust_env nesta sesión para controlar a integración de Requests coa contorna. RequestsTransport aplica a súa inicialización de contorna cando crea unha sesión, non cando se lle entrega unha existente. O valor false explícito impide que as entradas da contorna de proxy substitúan esta ruta.

Esa elección tamén desactiva a selección de CA baseada na contorna. Se é necesario, fornece connection_verify="/path/to/ca-bundle.pem" a RequestsTransport, coas raíces requiridas para o servizo real.

O cliente Blob péchase antes do contexto de sesión externo. session_owner=False deixa a propiedade nese bloque externo. Unha credencial de token creada por separado pode ter outro transporte HTTP; configúraa tamén se a súa obtención necesita SOCKS.

Artigos relacionados