Konfigurirajte SOCKS5 proxy za Azure Blob Python klijent
Konfigurirajte samu dostavljenu Requests sesiju, a zatim zadržite njezin životni vijek izvan sinkronog Blob klijenta uz 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:
passIzvršite predviđenu Blob operaciju umjesto pass, koristeći aplikacijske account_url i credential. Neobavezne SOCKS ovisnosti Requests-a već moraju biti prisutne. socks5h delegira DNS odredišta proxyju. Za javno dostupnu Blob završnu točku gdje su javni posrednici dopušteni, popis SOCKS5 proxyja nudi kandidate za proxy URL sesije.
Postavite trust_env na ovoj sesiji za upravljanje integracijom Requests-a s okolinom. RequestsTransport primjenjuje inicijalizaciju okoline kada stvara sesiju, a ne kada mu se preda postojeća. Eksplicitna vrijednost false sprječava da unosi proxy okoline zamijene ovu rutu.
Taj izbor također onemogućuje odabir CA na temelju okoline. Ako je potrebno, dostavite connection_verify="/path/to/ca-bundle.pem" RequestsTransportu, s korijenima potrebnima za stvarnu uslugu.
Blob klijent zatvara se prije vanjskog konteksta sesije. session_owner=False ostavlja vlasništvo na tom vanjskom bloku. Token vjerodajnica stvorena zasebno može imati drugi HTTP transport; konfigurirajte je također ako njezino pribavljanje zahtijeva SOCKS.