SOCKS5-välityspalvelimen määrittäminen Azure Blobin Python-asiakkaalle
Määritä annettu Requests-istunto itse ja pidä sitten sen elinkaari synkronisen Blob-asiakkaan ulkopuolella arvolla 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:
passSuorita 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.