Set upp eina SOCKS5-proxy fyri Python-klientin hjá Azure Blob
Set upp tað veitta Requests-sessjónina sjálva, og halt síðani lívstíð hennara uttanfyri tað synkrona Blob-klientin við 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:
passFremja ætlaðu Blob-handlingina í staðin fyri pass, við at nýta account_url og credential hjá tólinum. Teir valfríu SOCKS-treytirnar hjá Requests mugu longu vera til staðar. socks5h leggur DNS málstøðina til proxyn. Fyri eitt almennliga atkomuligt Blob-endapunkt, har almennir millumgongufólk eru loyvd, veitir SOCKS5-proxylistin evnar framboð til proxy-URL hjá sessjónini.
Set trust_env á hesa sessjónina fyri at stýra umhvørvisintegratingini hjá Requests. RequestsTransport nýtir umhvørvisbyrjanina, tá ið tað stovnar eina sessjón, ikki tá ið ein verandi verður givin. Tað greiða false virðið forðar fyri, at proxy-umhvørvisinntøka yvirtekur hesa leiðina.
Hetta valið slokkir eisini umhvørvisgrundaða CA-val. Um neyðugt, gev connection_verify="/path/to/ca-bundle.pem" til RequestsTransport, við teimum rótum, sum tann veruliga tænastan krevur.
Blob-klienturin letur seg aftur, áðrenn tann ytri sessjónskontekstin. session_owner=False letur ognarrættin vera hjá tí ytra blokkinum. Ein tokki-innlit, sum er gjørt særskilt, kann hava aðra HTTP-flutning; set tað eisini upp, um útveganin av tí krevur SOCKS.