SOCKS5 tarpinio serverio konfigūravimas Azure Blob Python klientui
Sukonfigūruokite patį pateiktą Requests sesiją, o tada išsaugokite jos gyvavimo laiką už sinchroninio Blob kliento ribų naudodami 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:
passAtlikite numatytą Blob operaciją vietoje pass, naudodami programos account_url ir credential. Requests pasirenkamos SOCKS priklausomybės jau turi būti įdiegtos. socks5h perduoda paskirties DNS tarpiniam serveriui. Viešai pasiekiamam Blob galiniam taškui, kuriame leidžiami vieši tarpininkai, SOCKS5 tarpinių serverių sąrašas siūlo kandidatus sesijos tarpinio serverio URL.
Nustatykite trust_env šioje sesijoje, kad valdytumėte Requests integraciją su aplinka. RequestsTransport taiko aplinkos inicijavimą kurdamas sesiją, o ne tada, kai jam pateikiama esama. Aiški reikšmė false neleidžia tarpinio serverio aplinkos įvestims pakeisti šio maršruto.
Šis pasirinkimas taip pat išjungia CA pasirinkimą pagal aplinką. Jei reikia, pateikite connection_verify="/path/to/ca-bundle.pem" RequestsTransport su tikrajai paslaugai reikalingomis šaknimis.
Blob klientas uždaromas prieš išorinį sesijos kontekstą. session_owner=False palieka nuosavybę tam išoriniam blokui. Atskirai sukurti tokeno kredencialai gali turėti kitą HTTP transportą; sukonfigūruokite ir juos, jei jų gavimui reikia SOCKS.