Skilgreina SOCKS5 milliþjón fyrir Python-biðvið Azure Blob
Skilgreindu veittu Requests-setuna sjálfa og hafðu síðan líftíma hennar utan við samstillta Blob-biðvið með session_owner=False.
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:
passFramkvæmdu fyrirhugaða Blob-aðgerð í stað pass, með account_url og credential forritsins. Valfrjálsar SOCKS-tengingar Requests verða þegar að vera til staðar. socks5h felur DNS áfangastaðarins milliþjóninum. Fyrir opinberlega aðgengilegan Blob-endapunkt þar sem opinberir milliliðir eru leyfðir býður SOCKS5-milliþjónalistinn upp á frambjóðendur fyrir milliþjóna-URL setunnar.
Stilltu trust_env á þessari setu til að stjórna umhverfissamþættingu Requests. RequestsTransport beitir umhverfisfrumstillingu sinni þegar það býr til setu, ekki þegar því er gefin núverandi seta. Skýra false-gildið kemur í veg fyrir að umhverfisinntak milliþjóns komi í stað þessarar leiðar.
Þessi valkostur slökkvir einnig á umhverfisbundnu CA-vali. Ef þörf krefur skaltu gefa connection_verify="/path/to/ca-bundle.pem" til RequestsTransport, með þeim rótum sem þarf fyrir raunverulegu þjónustuna.
Blob-biðnum er lokað áður en ytri setuSamhengið. session_owner=False lætur eignarhaldið vera hjá þeim ytri blokk. Táknskírteini sem búið er til sérstaklega getur haft aðra HTTP-flutning; skilgreindu það líka ef öflun þess krefst SOCKS.