Azure Service Bus-ը Node.js-ի համար. HTTP պրոքսի AMQP-ով WebSockets-ի վրա
Կարգավորեք @azure/service-bus-ը ws-ի և HttpsProxyAgent-ի հետ, երբ AMQP կապը պետք է անցնի HTTP պրոքսիով։
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-ի միացման տողը։ Առանց պրոքսի նույնականացման թույլատրված հանրային Service Bus namespace-ի փորձարկման համար HTTP պրոքսիների ցանկից HTTP գրառումը կարող է տալ proxyUrl։ ws և https-proxy-agent փաթեթները պետք է արդեն լինեն հավելվածի կախվածություններ։ Հիմնական ws պրոքսի-գործակալի ինտերֆեյսը WebSocket ծառայությունը և պրոքսիի հասցեները պահում է առանձին։
Սա ստեղծում է հաճախորդը. միացումը տեղի է ունենում, երբ ուղարկողը կամ ստացողը գործողություն է կատարում։ Պահեք այն այդ աշխատանքի համար և անջատելիս սպասեք client.close()-ին։
Գտեք ձախողումը պրոքսի թունելի կարգավորման, WebSocket-ի բանակցության և Service Bus-ի գործողության միջև։ Պրոքսը պետք է թույլատրի այդ նշանակետը և սեսիան։ Կարճ HTTPS հասանելիությունը չի ապացուցում թարմացման աջակցությունը կամ երկարաժամկետ միացումների ընդունելի սահմանը։
Սա միացման տողով ծանրաբեռնումն է։ Ինքնության հավատարմագիրը կարող է ավելացնել առանձին կարգավորված թոքեն ստանալու ուղի։ Հին azure-sb REST հատվածները օգտագործում են այլ սերունդ. նախապես նույնացրեք փաթեթը՝ նրա տրանսպորտային ընտրանքներն ընտրելուց առաջ։