កំណត់រចនាសម្ព័ន្ធ SOCKS5 Proxy សម្រាប់ Python Client របស់ Azure Blob
កំណត់រចនាសម្ព័ន្ធ Requests session ដែលបានផ្តល់ឱ្យដោយខ្លួនឯង បន្ទាប់មករក្សាអាយុកាលរបស់វានៅខាងក្រៅ Blob client សមកាលកម្មជាមួយ 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:
passអនុវត្តប្រតិបត្តិការ Blob ដែលបានគ្រោងទុកជំនួស pass ដោយប្រើ account_url និង credential របស់កម្មវិធី។ ការពឹងផ្អែក SOCKS ជាជម្រើសរបស់ Requests ត្រូវតែមានរួចហើយ។ socks5h ប្រគល់ DNS គោលដៅទៅ proxy។ សម្រាប់ចំណុចបញ្ចប់ Blob ដែលអាចចូលបានជាសាធារណៈ ដែលអនុញ្ញាតឱ្យមានអ្នកកណ្តាលសាធារណៈ បញ្ជី proxy SOCKS5 ផ្តល់បេក្ខជនសម្រាប់ proxy URL របស់ session។
កំណត់ trust_env នៅលើ session នេះ ដើម្បីគ្រប់គ្រង ការរួមបញ្ចូលបរិស្ថានរបស់ Requests។ RequestsTransport អនុវត្តការចាប់ផ្តើមបរិស្ថាន នៅពេលវាបង្កើត session មិនមែននៅពេលផ្តល់ session ដែលមានស្រាប់ទេ។ តម្លៃ false ច្បាស់លាស់រារាំងធាតុបញ្ចូលបរិស្ថាន proxy ពីការជំនួសផ្លូវនេះ។
ជម្រើសនោះក៏បិទការជ្រើសរើស CA ដោយផ្អែកលើបរិស្ថានផងដែរ។ ប្រសិនបើចាំបាច់ ផ្តល់ connection_verify="/path/to/ca-bundle.pem" ទៅ RequestsTransport ជាមួយ root ដែលត្រូវការសម្រាប់សេវាកម្មពិត។
Blob client បិទមុនបរិបទ session ខាងក្រៅ។ session_owner=False ទុកកម្មសិទ្ធិនៅនឹងប្លុកខាងក្រៅនោះ។ ព័ត៌មានសម្ងាត់ token ដែលបង្កើតដោយឡែកអាចមានការដឹកជញ្ជូន HTTP ផ្សេងទៀត។ កំណត់រចនាសម្ព័ន្ធវាដែរ ប្រសិនបើការទទួលបានរបស់វាត្រូវការ SOCKS។