Konfigurimi i një proxy SOCKS5 për klientin Python të Azure Blob
Konfiguroni vetë sesionin Requests të furnizuar, më pas mbani kohëzgjatjen e tij jashtë klientit sinkron Blob me 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:
passKryeni operacionin e synuar Blob në vend të pass, duke përdorur account_url dhe credential e aplikacionit. Varësitë opsionale SOCKS të Requests duhet të jenë tashmë të pranishme. socks5h delegon DNS-në e destinacionit te proxy. Për një pikë fundore Blob të aksesueshme publikisht ku lejohen ndërmjetës publikë, lista e proxy-ve SOCKS5 ofron kandidatë për URL-në e proxy-t të sesionit.
Vendosni trust_env në këtë sesion për të kontrolluar integrimin e Requests me mjedisin. RequestsTransport zbaton inicializimin e mjedisit kur krijon një sesion, jo kur i jepet një ekzistues. Vlera eksplicite false parandalon që inputet e mjedisit të proxy-t të zëvendësojnë këtë rrugë.
Kjo zgjedhje gjithashtu çaktivizon përzgjedhjen e CA-së bazuar në mjedis. Nëse nevojitet, jepni connection_verify="/path/to/ca-bundle.pem" te RequestsTransport, me rrënjët e kërkuara për shërbimin aktual.
Klienti Blob mbyllet përpara kontekstit të jashtëm të sesionit. session_owner=False e lë pronësinë te ai bllok i jashtëm. Një kredencial token i krijuar veçmas mund të ketë një transport tjetër HTTP; konfiguroni edhe atë nëse marrja e tij kërkon SOCKS.