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-এর জন্য প্রার্থী সরবরাহ করে।

এই সেশনে trust_env সেট করুন Requests-এর পরিবেশ সংহতি নিয়ন্ত্রণ করতে। RequestsTransport তার পরিবেশ আরম্ভ প্রয়োগ করে যখন এটি একটি সেশন তৈরি করে, আগে থেকে থাকা একটি দেওয়া হলে নয়। স্পষ্ট false মান প্রক্সি পরিবেশের ইনপুটগুলিকে এই পথটি প্রতিস্থাপন করা থেকে বিরত রাখে।

এই পছন্দটি পরিবেশ-ভিত্তিক CA নির্বাচনও নিষ্ক্রিয় করে। প্রয়োজনে RequestsTransport-এ connection_verify="/path/to/ca-bundle.pem" দিন, প্রকৃত পরিষেবার জন্য প্রয়োজনীয় রুট সহ।

Blob ক্লায়েন্টটি বাইরের সেশন প্রসঙ্গের আগে বন্ধ হয়। session_owner=False মালিকানা সেই বাইরের ব্লকের সাথে রাখে। আলাদাভাবে তৈরি একটি টোকেন ক্রেডেনশিয়ালের অন্য HTTP পরিবহন থাকতে পারে; এর অধিগ্রহণের জন্য SOCKS প্রয়োজন হলে সেটিও কনফিগার করুন।

সম্পর্কিত নিবন্ধ