SOCKS5 starpniekservera konfigurēšana Azure Blob Python klientam
Konfigurējiet pašu nodrošināto Requests sesiju un pēc tam saglabājiet tās darbības laiku ārpus sinhronā Blob klienta ar 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:
passVeiciet paredzēto Blob darbību pass vietā, izmantojot lietojumprogrammas account_url un credential. Requests neobligātās SOCKS atkarības jau ir jābūt instalētām. socks5h deleģē galamērķa DNS starpniekserverim. Publiski sasniedzamam Blob galapunktam, kur atļauti publiski starpnieki, SOCKS5 starpniekserveru saraksts piedāvā kandidātus sesijas starpniekservera URL.
Iestatiet trust_env šajā sesijā, lai kontrolētu Requests integrāciju ar vidi. RequestsTransport piemēro vides inicializāciju, kad izveido sesiju, nevis kad tam tiek dota esoša. Nepārprotamā vērtība false neļauj starpniekservera vides ievadiem aizstāt šo maršrutu.
Šī izvēle arī atspējo vides balstītu CA atlasi. Ja nepieciešams, nodrošiniet connection_verify="/path/to/ca-bundle.pem" RequestsTransport ar saknēm, kas vajadzīgas faktiskajam pakalpojumam.
Blob klients tiek aizvērts pirms ārējā sesijas konteksta. session_owner=False atstāj īpašumtiesības šajā ārējā blokā. Atsevišķi izveidots marķiera akreditācijas datu ieraksts var izmantot citu HTTP transportu; konfigurējiet arī to, ja tā iegūšanai nepieciešams SOCKS.