Azure Service Bus për Node.js: proxy HTTP përmes AMQP mbi WebSockets
Konfiguro @azure/service-bus me ws dhe HttpsProxyAgent kur lidhja AMQP duhet të kalojë përmes një proxy HTTP.
Për klientin e mesazheve Service Bus v7 të Node pas një proxy HTTP, përdorni rregullimin AMQP-over-WebSockets të shembullit të SDK:
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 },
},
});
Jepni URL-në e proxy-t dhe vargun e lidhjes së Service Bus. Për një test të lejuar të një hapësire emrash publike Service Bus pa vërtetim proxy, një zë HTTP nga lista e proxy-ve HTTP mund të japë proxyUrl. Paketat ws dhe https-proxy-agent duhet të jenë tashmë varësi të aplikacionit. Ndërfaqja themelore e agjentit proxy ws i mban të ndara shërbimin WebSocket dhe adresat e proxy-t.
Kjo ndërton klientin; lidhja ndodh kur dërguesi ose marrësi kryen një operacion. Mbajeni për atë ngarkesë dhe prisni client.close() në mbyllje.
Lokalizoni një dështim midis konfigurimit të tunelit të proxy-t, negociimit WebSocket dhe operacionit Service Bus. Proxy duhet të lejojë atë destinacion dhe sesion. Qasja e shkurtër HTTPS nuk provon mbështetjen e përmirësimit ose një kufi të pranueshëm lidhjesh afatgjata.
Kjo është mbingarkesa me varg lidhjeje. Një kredencial identiteti mund të shtojë një rrugë të konfiguruar veçmas për marrjen e tokenit. Fragmentet e vjetra REST të azure-sb përdorin një gjeneratë tjetër; identifikoni paketën përpara se të zgjidhni opsionet e transportit.