Mengonfigurasi Proksi SOCKS5 untuk Klien Python Azure Blob
Konfigurasikan sesi Requests yang diberikan itu sendiri, lalu pertahankan masa hidupnya di luar klien Blob sinkron dengan 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:
passJalankan operasi Blob yang dimaksud sebagai pengganti pass, menggunakan account_url dan credential aplikasi. Dependensi SOCKS opsional Requests harus sudah ada. socks5h mendelegasikan DNS tujuan ke proksi. Untuk endpoint Blob yang dapat dijangkau publik dan mengizinkan perantara publik, daftar proksi SOCKS5 menyediakan kandidat untuk URL proksi sesi.
Atur trust_env pada sesi ini untuk mengendalikan integrasi lingkungan Requests. RequestsTransport menerapkan inisialisasi lingkungan saat membuat sesi, bukan saat diberi sesi yang sudah ada. Nilai false yang eksplisit mencegah input lingkungan proksi menggantikan rute ini.
Pilihan itu juga menonaktifkan pemilihan CA berbasis lingkungan. Jika perlu, berikan connection_verify="/path/to/ca-bundle.pem" ke RequestsTransport, dengan root yang diperlukan untuk layanan sebenarnya.
Klien Blob ditutup sebelum konteks sesi luar. session_owner=False membiarkan kepemilikan pada blok luar itu. Kredensial token yang dibuat terpisah dapat memiliki transport HTTP lain; konfigurasikan juga jika perolehannya membutuhkan SOCKS.