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.

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ