Node.js အတွက် Azure Service Bus- WebSockets ပေါ်တွင် AMQP မှတစ်ဆင့် HTTP ပရောက်စီ
AMQP ချိတ်ဆက်မှုသည် HTTP ပရောက်စီကို ဖြတ်သန်းရမည်ဖြစ်ပါက @azure/service-bus ကို ws နှင့် HttpsProxyAgent ဖြင့် ပြင်ဆင်ပါ။
HTTP ပရောက်စီနောက်ကွယ်ရှိ Node ၏ Service Bus v7 မက်ဆေ့ချ်ကလိုင်းအတွက် SDK နမူနာ၏ AMQP-over-WebSockets အစီအစဉ်ကို အသုံးပြုပါ-
const { ServiceBusClient } = require("@azure/service-bus");
const WebSocket = require("ws");
const { HttpsProxyAgent } = require("https-proxy-agent");
const proxyAgent = new HttpsProxyAgent(proxyUrl);
const client = new ServiceBusClient(connectionString, {
webSocketOptions: {
webSocket: WebSocket,
webSocketConstructorOptions: { agent: proxyAgent },
},
});
ပရောက်စီ URL နှင့် Service Bus ချိတ်ဆက်မှု string ကို ပေးပါ။ ပရောက်စီ အတည်ပြုချက်မပါဘဲ ခွင့်ပြုထားသော အများသူငှာ Service Bus namespace စမ်းသပ်မှုအတွက် HTTP ပရောက်စီစာရင်းမှ HTTP အချက်တစ်ခုက proxyUrl ပေးနိုင်ပါသည်။ ws နှင့် https-proxy-agent ပက်ကေ့ချ်များသည် အက်ပ်လီကေးရှင်း မှီခိုမှုများ ဖြစ်နှင့်ပြီးဖြစ်ရမည်။ အခြေခံ ws ပရောက်စီ-အေးဂျင့် အင်တာဖေ့စ်သည် WebSocket ဝန်ဆောင်မှုနှင့် ပရောက်စီလိပ်စာများကို သီးခြားထားရှိသည်။
၎င်းသည် ကလိုင်းကို တည်ဆောက်သည်။ ပေးပို့သူ သို့မဟုတ် လက်ခံသူ လုပ်ဆောင်ချက်တစ်ခု လုပ်ဆောင်သောအခါ ချိတ်ဆက်မှု ဖြစ်ပေါ်သည်။ ထိုအလုပ်ဝန်အတွက် ၎င်းကို ထိန်းထားပြီး ပိတ်သည့်အခါ client.close() ကို စောင့်ပါ။
ပရောက်စီလိုဏ်ခေါင်းတည်ဆောက်မှု၊ WebSocket ညှိနှိုင်းမှုနှင့် Service Bus လုပ်ဆောင်ချက်ကြားတွင် ချို့ယွင်းမှုကို ရှာပါ။ ပရောက်စီသည် ထိုဆိုက်နှင့် ဆက်ရှင်ကို ခွင့်ပြုရမည်။ တိုတောင်းသော HTTPS ဝင်ရောက်မှုသည် အဆင့်မြှင့်တင်မှု ပံ့ပိုးမှု သို့မဟုတ် လက်ခံနိုင်သော ရေရှည်ချိတ်ဆက်မှု ကန့်သတ်ချက်ကို သက်သေမပြပါ။
၎င်းသည် ချိတ်ဆက်မှု string ဖြင့် overload ဖြစ်သည်။ အထောက်အထား အတည်ပြုချက်သည် သီးခြားပြင်ဆင်ထားသော တိုကင်ရယူမှုလမ်းကြောင်းကို ထည့်နိုင်သည်။ ဟောင်းနွမ်းသော azure-sb REST အတိုအထွာများသည် အခြားမျိုးဆက်ကို အသုံးပြုသည်။ ၎င်း၏ သယ်ယူပို့ဆောင်ရေး ရွေးချယ်စရာများကို မရွေးချယ်မီ ပက်ကေ့ချ်ကို ဖော်ထုတ်ပါ။