ຕັ້ງຄ່າ SOCKS5 Proxy ສຳລັບ Python Client ຂອງ Azure Blob
ຕັ້ງຄ່າ Requests session ທີ່ສະໜອງໃຫ້ເອງ ແລ້ວຮັກສາອາຍຸຂອງມັນໄວ້ນອກ Blob client ແບບ synchronous ດ້ວຍ 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:
passປະຕິບັດການ Blob ທີ່ຕ້ອງການແທນ pass ໂດຍໃຊ້ account_url ແລະ credential ຂອງແອັບພລິເຄຊັນ. ການຂຶ້ນກັບ SOCKS ແບບທາງເລືອກຂອງ Requests ຕ້ອງມີຢູ່ແລ້ວ. socks5h ມອບ DNS ປາຍທາງໃຫ້ proxy. ສຳລັບ Blob endpoint ທີ່ເຂົ້າເຖິງໄດ້ທາງສາທາລະນະ ທີ່ອະນຸຍາດໃຫ້ມີຕົວກາງສາທາລະນະ, ລາຍຊື່ proxy SOCKS5 ສະໜອງຜູ້ສະໝັກສຳລັບ proxy URL ຂອງ session.
ຕັ້ງ trust_env ໃນ session ນີ້ ເພື່ອຄວບຄຸມ ການລວມເຂົ້າກັບສະພາບແວດລ້ອມຂອງ Requests. RequestsTransport ໃຊ້ການເລີ່ມຕົ້ນສະພາບແວດລ້ອມເມື່ອສ້າງ session, ບໍ່ແມ່ນເມື່ອໄດ້ຮັບ session ທີ່ມີຢູ່ແລ້ວ. ຄ່າ false ຢ່າງຊັດເຈນປ້ອງກັນບໍ່ໃຫ້ຂໍ້ມູນສະພາບແວດລ້ອມ proxy ມາແທນເສັ້ນທາງນີ້.
ການເລືອກນັ້ນຍັງປິດການເລືອກ CA ຕາມສະພາບແວດລ້ອມ. ຖ້າຈຳເປັນ, ສະໜອງ connection_verify="/path/to/ca-bundle.pem" ໃຫ້ RequestsTransport ພ້ອມກັບ root ທີ່ຕ້ອງການສຳລັບບໍລິການຕົວຈິງ.
Blob client ປິດກ່ອນບໍລິບົດ session ພາຍນອກ. session_owner=False ປ່ອຍຄວາມເປັນເຈົ້າຂອງໄວ້ກັບບລັອກພາຍນອກນັ້ນ. ຂໍ້ມູນຮັບຮອງ token ທີ່ສ້າງແຍກຕ່າງຫາກອາດມີການຂົນສົ່ງ HTTP ອື່ນ; ຕັ້ງຄ່າມັນດ້ວຍ ຖ້າການໄດ້ມາຂອງມັນຕ້ອງການ SOCKS.