Azure Service Bus vir Node.js: HTTP-proksie via AMQP oor WebSockets
Konfigureer @azure/service-bus met ws en HttpsProxyAgent wanneer sy AMQP-verbinding deur 'n HTTP-proksie moet gaan.
Vir Node se Service Bus v7-boodskappekliënt agter 'n HTTP-proksie, gebruik die SDK-voorbeeld se AMQP-oor-WebSockets-reëling:
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 },
},
});
Verskaf die proksie-URL en die Service Bus-verbindingstring. Vir 'n toegelate toets van 'n openbare Service Bus-naamruimte sonder proksie-verifikasie kan 'n HTTP-inskrywing uit die HTTP-proksielys proxyUrl verskaf. Die pakkette ws en https-proxy-agent moet reeds toepassingsafhanklikhede wees. Die onderliggende ws-proksiagent-koppelvlak hou die WebSocket-diens en proksie-adresse apart.
Dit bou die kliënt; verbinding vind plaas wanneer 'n sender of ontvanger 'n bewerking uitvoer. Hou dit vir daardie werklading en wag op client.close() by afsluiting.
Spoor 'n fout op tussen proksietonnelopstelling, WebSocket-onderhandeling en die Service Bus-bewerking. Die proksie moet daardie bestemming en sessie toelaat. Kort HTTPS-toegang bewys nie opgraderingsteun of 'n aanvaarbare langdurige verbindingslimiet nie.
Dit is die verbindingstring-oorlading. 'n Identiteitsbewys kan 'n apart gekonfigureerde tokenverkrygingsroete byvoeg. Ou azure-sb REST-strokies gebruik 'n ander generasie; identifiseer die pakket voordat jy sy vervoeropsies kies.