Azure Service Bus za Node.js: HTTP proxy putem AMQP-a na WebSocketsu
Konfigurirajte @azure/service-bus s ws i HttpsProxyAgent kada AMQP veza mora proći kroz HTTP proxy.
Za Nodeov klijent za razmjenu poruka Service Bus v7 iza HTTP proxyja upotrijebite 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 prostora naziva bez proxy autentifikacije, HTTP unos s popisa HTTP proxyja može dati proxyUrl. Paketi ws i https-proxy-agent već moraju biti ovisnosti aplikacije. Osnovno ws sučelje proxy agenta drži WebSocket uslugu i adrese proxyja odvojenima.
Ovo gradi klijenta; povezivanje se događa kada pošiljatelj ili primatelj izvrši operaciju. Zadržite ga za taj posao i pričekajte client.close() pri gašenju.
Pronađite kvar između postavljanja proxy tunela, pregovaranja WebSocketa i operacije Service Busa. Proxy mora dopustiti tu destinaciju i sesiju. Kratak HTTPS pristup ne dokazuje podršku za nadogradnju ni prihvatljiv dugoročni limit veza.
Ovo je preopterećenje s connection stringom. Identitetska vjerodajnica može dodati zasebno konfiguriran put za dobivanje tokena. Stari azure-sb REST isječci koriste drugu generaciju; identificirajte paket prije odabira njegovih transportnih opcija.