Azure Service Bus por Node.js: HTTP-prokurilo per AMQP super WebSockets
Agordu @azure/service-bus kun ws kaj HttpsProxyAgent kiam la AMQP-konekto devas trapasi HTTP-prokurilon.
Por la mesaĝa kliento Service Bus v7 de Node malantaŭ HTTP-prokurilo, uzu la aranĝon AMQP-super-WebSockets de la SDK-ekzemplo:
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 },
},
});
Provizu la prokurilan URL-on kaj la conexan ĉenon de Service Bus. Por permesita testo de publika Service Bus-nomspaco sen prokurila aŭtentikigo, HTTP-ero el la listo de HTTP-prokuriloj povas provizi proxyUrl. La pakaĵoj ws kaj https-proxy-agent jam devas esti dependaĵoj de la aplikaĵo. La suba ws-prokuraĝenta interfaco tenas la WebSocket-servon kaj la prokurilajn adresojn apartaj.
Ĉi tio konstruas la klienton; konektado okazas kiam sendanto aŭ ricevanto plenumas operacion. Konservu ĝin por tiu laborŝarĝo kaj atendu client.close() ĉe malŝalto.
Trovi malsukceson inter agordo de prokurila tunelo, intertraktado de WebSocket kaj la operacio de Service Bus. La prokurilo devas permesi tiun celon kaj seancon. Mallonga HTTPS-aliro ne pruvas subtenon de ĝisdatigo nek akcepteblan limon de longdaŭraj konektoj.
Ĉi tio estas la superŝarĝo kun conexa ĉeno. Identeca legitimilo povas aldoni aparte agorditan vojon por akiri ĵetonon. Malnovaj azure-sb REST-fragmentoj uzas alian generacion; identigu la pakaĵon antaŭ ol elekti ĝiajn transportajn opciojn.