Konfigurace proxy SOCKS5 pro Python klienta Azure Blob
Nakonfigurujte samotnou dodanou relaci Requests a poté udržujte její životnost mimo synchronní klient Blob pomocí 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:
passProveďte zamýšlenou operaci Blob místo pass s použitím account_url a credential aplikace. Volitelné závislosti SOCKS pro Requests již musí být přítomny. socks5h předává DNS cíle proxy. Pro veřejně dostupný koncový bod Blob, kde jsou povoleni veřejní zprostředkovatelé, seznam proxy SOCKS5 nabízí kandidáty pro proxy URL relace.
Nastavte trust_env v této relaci pro řízení integrace Requests s prostředím. RequestsTransport uplatňuje inicializaci prostředí při vytváření relace, nikoli při předání existující. Explicitní hodnota false brání tomu, aby vstupy prostředí proxy nahradily tuto cestu.
Tato volba také vypíná výběr CA na základě prostředí. V případě potřeby předejte connection_verify="/path/to/ca-bundle.pem" do RequestsTransport s kořeny potřebnými pro skutečnou službu.
Klient Blob se zavírá před vnějším kontextem relace. session_owner=False ponechává vlastnictví tomuto vnějšímu bloku. Tokenové přihlašovací údaje vytvořené samostatně mohou mít jiný HTTP transport; nakonfigurujte je také, pokud jejich získání vyžaduje SOCKS.