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:
        pass

Udfør den tilsigtede Blob-handling i stedet for pass ved at bruge applikationens account_url og credential. Requests' valgfrie SOCKS-afhængigheder skal allerede være til stede. socks5h delegerer destinations-DNS til proxyen. Til et offentligt tilgængeligt Blob-endepunkt, hvor offentlige mellemled er tilladt, leverer SOCKS5-proxylisten kandidater til sessionens proxy-URL.

Sæt trust_env på denne session for at styre Requests' miljøintegration. RequestsTransport anvender sin miljøinitialisering, når den opretter en session, ikke når den får en eksisterende. Den udtrykkelige false-værdi forhindrer, at proxy-miljøinput erstatter denne rute.

Det val deaktiverer også miljøbaseret CA-valg. Hvis det er nødvendigt, skal du give connection_verify="/path/to/ca-bundle.pem" til RequestsTransport med de rødder, der kræves til den faktiske tjeneste.

Blob-klienten lukkes før den ydre session-kontekst. session_owner=False lader ejerskabet blive hos den ydre blok. En token-legitimationsoplysning, der er oprettet separat, kan have en anden HTTP-transport; konfigurer den også, hvis dens erhvervelse kræver SOCKS.

Relaterede artikler