Konfigurácia proxy SOCKS5 pre Python klienta Azure Blob
Nakonfigurujte samotnú dodanú reláciu Requests a potom udržte jej životnosť mimo synchrónneho klienta Blob pomocou 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:
passVykonajte zamýšľanú operáciu Blob namiesto pass s použitím account_url a credential aplikácie. Voliteľné závislosti SOCKS pre Requests už musia byť prítomné. socks5h deleguje DNS cieľa na proxy. Pre verejne dostupný koncový bod Blob, kde sú povolení verejní sprostredkovatelia, zoznam proxy SOCKS5 ponúka kandidátov pre proxy URL relácie.
Nastavte trust_env v tejto relácii na riadenie integrácie Requests s prostredím. RequestsTransport uplatňuje inicializáciu prostredia pri vytváraní relácie, nie pri odovzdaní existujúcej. Explicitná hodnota false bráni tomu, aby vstupy prostredia proxy nahradili túto trasu.
Táto voľba tiež vypína výber CA na základe prostredia. V prípade potreby odovzdajte connection_verify="/path/to/ca-bundle.pem" do RequestsTransport s koreňmi potrebnými pre skutočnú službu.
Klient Blob sa zatvára pred vonkajším kontextom relácie. session_owner=False ponecháva vlastníctvo tomuto vonkajšiemu bloku. Tokenové prihlasovacie údaje vytvorené samostatne môžu mať iný HTTP transport; nakonfigurujte ich tiež, ak ich získanie vyžaduje SOCKS.