SOCKS5-puhverserveri seadistamine Azure Blobi Pythoni kliendile
Seadistage antud Requestsi sessioon ise ja hoidke seejärel selle eluiga väljaspool sünkroonset Blobi klienti väärtusega 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:
passTehke kavandatud Blobi toiming pass asemel, kasutades rakenduse account_url ja credential. Requestsi valikulised SOCKS-sõltuvused peavad juba olemas olema. socks5h delegeerib sihtkoha DNS-i puhverserverile. Avalikult ligipääsetava Blobi lõpp-punkti jaoks, kus avalikud vahendajad on lubatud, pakub SOCKS5 puhverserverite loend kandidaate sessiooni puhverserveri URL-ile.
Määrake sellel sessioonil trust_env, et juhtida Requestsi keskkonnaintegratsiooni. RequestsTransport rakendab keskkonna initsialiseerimist sessiooni loomisel, mitte olemasoleva sessiooni andmisel. Selgesõnaline väärtus false takistab puhverserveri keskkonna sisenditel selle marsruudi asendamist.
See valik keelab ka keskkonnapõhise CA-valiku. Vajadusel edastage RequestsTransportile connection_verify="/path/to/ca-bundle.pem" koos tegeliku teenuse jaoks vajalike juurtega.
Blobi klient suletakse enne välimist sessioonikonteksti. session_owner=False jätab omandiõiguse sellele välimisele plokile. Eraldi loodud märgil põhinev volitus võib kasutada teist HTTP-transporti; seadistage ka see, kui selle hankimine nõuab SOCKS-i.