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 પસંદગી પણ બંધ કરે છે. જરૂર હોય તો RequestsTransport ને connection_verify="/path/to/ca-bundle.pem" આપો, વાસ્તવિક સેવા માટે જરૂરી રૂટ સાથે.

Blob ક્લાયન્ટ બાહ્ય સત્ર સંદર્ભ પહેલાં બંધ થાય છે. session_owner=False માલિકી તે બાહ્ય બ્લોક પાસે રાખે છે. અલગથી બનાવેલ ટોકન ક્રેડેન્શિયલનું બીજું HTTP પરિવહન હોઈ શકે છે; તેની પ્રાપ્તિને SOCKS ની જરૂર હોય તો તેને પણ ગોઠવો.

સંબંધિત લેખો