Azure Event Hubs ကို Python ဖြင့်: HTTP proxy မှတစ်ဆင့် WebSockets ပေါ်ရှိ AMQP
Event Hubs ၏ http_proxy အဘိဓာန်ကို ဟို့စ်အမည်နှင့် ကိန်းပြည့် ပို့တ်နှင့်အတူ ပေးပို့ပြီး WebSocket AMQP သယ်ယူမှုကို ရွေးချယ်ပါ။
HTTP proxy အသုံးပြုသော Event Hubs အတွက် Python အသုံးပြုသူအနေဖြင့် client ကို တည်ဆောက်စဉ် SDK ၏ proxy အဘိဓာန်နှင့် WebSocket သယ်ယူမှုကို ချိန်ညှိပါ:
from azure.eventhub import EventHubConsumerClient, TransportType
client = EventHubConsumerClient(
fully_qualified_namespace=namespace,
eventhub_name=eventhub_name,
consumer_group='$Default',
credential=credential,
transport_type=TransportType.AmqpOverWebsocket,
http_proxy={
'proxy_hostname': 'proxy.example',
'proxy_port': 8080,
},
)
Namespace၊ Event Hub အမည်နှင့် credential တို့သည် application ၏ လက်ရှိ ဝန်ဆောင်မှု ဖွဲ့စည်းမှု ဖြစ်သည်။ ၎င်း၏ လက်ခံရယူမှု callback များနှင့် client ပိတ်ခြင်း၏ ပုံမှန် သက်တမ်းစက်ဝန်းကို ဆက်လုပ်ပါ။
ဤအဘိဓာန်သည် ကြားခံကို တိုက်ရိုက် ဖော်ပြသည်။ ၎င်းသည် Requests လက်ခံသော http/https ဦးတည်ရာ စနစ်မြေပုံ မဟုတ်ပါ။ အများသူငှာ ကြားခံများ ခွင့်ပြုထားသော အများသူငှာ Event Hubs namespace အတွက် HTTP proxy စာရင်းသည် အကောင့်မလိုသော ဟို့စ်အမည်နှင့် ပို့တ် အကွက်များအတွက် ကိုယ်စားလှယ်လောင်းများ ပေးသည်။ ရည်ရွယ်ထားသော proxy အကောင့် လိုအပ်ပါက username နှင့် password သော့များ ထည့်ပါ။
WebSockets ပေါ်ရှိ AMQP သည် ဝန်ဆောင်မှု၏ ပို့တ် 443 ကို အသုံးပြုပြီး သာမန် AMQP သယ်ယူမှုသည် 5671 ကို အသုံးပြုသည်။ proxy သည် Event Hubs namespace သို့ ဖြစ်ပေါ်လာသော ချိတ်ဆက်မှုကို ခွင့်ပြုရန် လိုအပ်ဆဲ ဖြစ်သည်။
Token credential သည် token များ ရယူစဉ် သီးခြား HTTP တောင်းဆိုမှုများ ပြုလုပ်နိုင်သည်။ ထို စစ်မှန်ကြောင်း အတည်ပြုသည့် လမ်းကြောင်းတွင်လည်း proxy လိုအပ်ပါက ၎င်း ပံ့ပိုးသော သယ်ယူမှုကို လိုအပ်သလို ချိန်ညှိပါ။