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 ಬೇಕಾದರೆ ಅದನ್ನೂ ಕಾನ್ಫಿಗರ್ ಮಾಡಿ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು