Ffurfweddu procsi SOCKS5 ar gyfer cleient Python Azure Blob
Ffurfweddwch y sesiwn Requests a ddarperir ei hun, yna cadwch ei hoes y tu allan i'r cleient Blob cydamserol gyda 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:
passCyflawnwch y llawdriniaeth Blob arfaethedig yn lle pass, gan ddefnyddio account_url a credential y cymhwysiad. Rhaid i ddibyniaethau SOCKS dewisol Requests fod yn bresennol yn barod. Mae socks5h yn dirprwyo DNS y cyrchfan i'r procsi. Ar gyfer pwynt terfyn Blob sy'n gyhoeddus ac yn caniatáu cyfryngwyr cyhoeddus, mae'r rhestr procsi SOCKS5 yn cynnig ymgeiswyr ar gyfer URL procsi'r sesiwn.
Gosodwch trust_env ar y sesiwn hon i reoli integreiddiad amgylchedd Requests. Mae RequestsTransport yn cymhwyso ei gychwyniad amgylchedd pan fydd yn creu sesiwn, nid pan roddir un sy'n bodoli eisoes. Mae'r gwerth false penodol yn rhwystro mewnbynnau amgylchedd procsi rhag disodli'r llwybr hwn.
Mae'r dewis hwnnw hefyd yn analluogi dewis CA yn seiliedig ar amgylchedd. Os oes angen, rhowch connection_verify="/path/to/ca-bundle.pem" i RequestsTransport, gyda'r gwreiddiau sydd eu hangen ar gyfer y gwasanaeth gwirioneddol.
Mae'r cleient Blob yn cau cyn cyd-destun y sesiwn allanol. Mae session_owner=False yn gadael perchnogaeth gyda'r bloc allanol hwnnw. Gall credensial tocyn a grëwyd ar wahân fod â thrafnidiaeth HTTP arall; ffurfweddwch hi hefyd os oes angen SOCKS i'w chaffael.