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

pass کی بجائے مطلوبہ Blob کارروائی کریں، ایپلیکیشن کے account_url اور credential استعمال کرتے ہوئے۔ Requests کے اختیاری SOCKS انحصار پہلے سے موجود ہونے چاہئیں۔ socks5h منزل کا DNS پراکسی کو سونپتا ہے۔ عوامی طور پر قابل رسائی Blob اینڈ پوائنٹ کے لیے، جہاں عوامی ثالثوں کی اجازت ہے، SOCKS5 پراکسی فہرست سیشن کے پراکسی URL کے لیے امیدوار فراہم کرتی ہے۔

Requests کے ماحول کے انضمام کو کنٹرول کرنے کے لیے اس سیشن پر trust_env سیٹ کریں۔ RequestsTransport ماحولیاتی ابتدا اس وقت لاگو کرتا ہے جب سیشن بناتا ہے، نہ کہ جب موجودہ سیشن دیا جائے۔ واضح false قدر پراکسی ماحول کے ان پٹ کو اس راستے کو بدلنے سے روکتی ہے۔

یہ انتخاب ماحول کی بنیاد پر CA کے انتخاب کو بھی غیر فعال کرتا ہے۔ اگر ضرورت ہو تو، اصل سروس کے لیے مطلوبہ روٹس کے ساتھ connection_verify="/path/to/ca-bundle.pem" RequestsTransport کو دیں۔

Blob کلائنٹ بیرونی سیشن سیاق سے پہلے بند ہو جاتا ہے۔ session_owner=False ملکیت اس بیرونی بلاک کے پاس چھوڑ دیتا ہے۔ الگ سے بنائی گئی ٹوکن اسناد کا دوسرا HTTP ٹرانسپورٹ ہو سکتا ہے؛ اگر اس کے حصول کے لیے SOCKS درکار ہو تو اسے بھی کنفیگر کریں۔

متعلقہ مضامین