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

Utfør den tiltenkte Blob-operasjonen i staden for pass, med account_url og credential til programmet. Dei valfrie SOCKS-avhengnadene til Requests må allereie vere på plass. socks5h delegerer destinasjons-DNS til proxyen. For eit offentleg tilgjengeleg Blob-endepunkt der offentlege mellommenn er tillatne, leverer SOCKS5-proxylista kandidatar for proxy-URL-en til økta.

Set trust_env på denne økta for å styre miljøintegreringa til Requests. RequestsTransport brukar miljøinitialiseringa når han opprettar ei økt, ikkje når han får ei eksisterande. Den eksplisitte false-verdien hindrar proxy-miljøinndata i å erstatte denne ruta.

Det valet slår også av miljøbasert CA-val. Om naudsynt, oppgje connection_verify="/path/to/ca-bundle.pem" til RequestsTransport, med røtene som krevst for den faktiske tenesta.

Blob-klienten blir lukka før den ytre øktkonteksten. session_owner=False lèt eigarskapet bli hos den ytre blokka. Ein token-legitimasjon som er oppretta separat, kan ha ein annan HTTP-transport; konfigurer han også om anskaffinga krev SOCKS.

Relaterte artiklar