Configura un proxy SOCKS5 para o cliente Python de Azure Blob
Configura a propia sesión de Requests subministrada e despois mantén a súa vida útil fóra do cliente Blob síncrono con 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:
passExecuta 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.