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

Suorita aiottu Blob-toiminto pass-kohdan sijaan käyttäen sovelluksen account_url- ja credential-arvoja. Requestsin valinnaiset SOCKS-riippuvuudet on oltava jo asennettuina. socks5h siirtää kohde-DNS:n välityspalvelimelle. Julkisesti saavutettavalle Blob-päätepisteelle, jossa julkiset välittäjät ovat sallittuja, SOCKS5-välityspalvelinluettelo tarjoaa ehdokkaita istunnon välityspalvelimen URL-osoitteelle.

Aseta trust_env tähän istuntoon hallitaksesi Requestsin ympäristöintegrointia. RequestsTransport soveltaa ympäristön alustusta, kun se luo istunnon, ei silloin, kun sille annetaan olemassa oleva. Selkeä false-arvo estää välityspalvelimen ympäristösyötteitä korvaamasta tätä reittiä.

Tämä valinta poistaa myös ympäristöperusteisen CA-valinnan käytöstä. Anna tarvittaessa connection_verify="/path/to/ca-bundle.pem" RequestsTransportille yhdessä varsinaisen palvelun vaatimien juurten kanssa.

Blob-asiakas suljetaan ennen ulompaa istuntokontekstia. session_owner=False jättää omistajuuden sille ulommalle lohkolle. Erikseen luodulla token-tunnistetietoja voi olla toinen HTTP-siirtotapa; määritä sekin, jos sen hankinta vaatii SOCKS:n.

Aiheeseen liittyvät artikkelit