Azure Blob को Python क्लाइन्टका लागि SOCKS5 प्रोक्सी कन्फिगर गर्नुहोस्
दिइएको Requests सत्र आफैं कन्फिगर गर्नुहोस्, त्यसपछि session_owner=False प्रयोग गरी यसको जीवनकाल सिंक्रोनस Blob क्लाइन्टबाहिर राख्नुहोस्।
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:
passpass को सट्टामा इच्छित 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 आवश्यक भएमा त्यसलाई पनि कन्फिगर गर्नुहोस्।