Azure Service Bus za Node.js: HTTP proxy preko AMQP-a na WebSockets
Konfigurirajte @azure/service-bus s ws i HttpsProxyAgent kada AMQP veza mora proći kroz HTTP proxy.
Za Node-ov klijent za razmjenu poruka Service Bus v7 iza HTTP proxyja koristite SDK primjer AMQP-preko-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 },
},
});
Navedite URL proxyja i connection string za Service Bus. Za dopušteni test javnog Service Bus namespacea bez proxy autentifikacije, HTTP unos s liste HTTP proxyja može dati proxyUrl. Paketi ws i https-proxy-agent već moraju biti zavisnosti aplikacije. Osnovno ws proxy-agent sučelje drži WebSocket uslugu i adrese proxyja odvojenim.
Ovo konstruira klijenta; povezivanje se događa kada pošiljalac ili primalac izvrši operaciju. Zadržite ga za taj posao i čekajte client.close() pri gašenju.
Pronađite kvar između postavljanja proxy tunela, pregovaranja WebSocketa i operacije Service Busa. Proxy mora dopuštati tu destinaciju i sesiju. Kratak HTTPS pristup ne dokazuje podršku za nadogradnju ni prihvatljiv dugoročni limit veza.
Ovo je overload s connection stringom. Identitetski kredencijal može dodati zasebno konfigurisan put za dobijanje tokena. Stari azure-sb REST isječci koriste drugu generaciju; identificirajte paket prije odabira njegovih transportnih opcija.