Azure Service Bus Node.js:lle: HTTP-välityspalvelin AMQP:n kautta WebSocketsin yli
Määritä @azure/service-bus yhdessä ws:n ja HttpsProxyAgentin kanssa, kun AMQP-yhteyden on kuljettava HTTP-välityspalvelimen kautta.
Noden Service Bus v7 -viestintäasiakkaalle HTTP-välityspalvelimen takana käytä SDK-esimerkin AMQP-over-WebSockets-järjestelyä:
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 },
},
});
Anna välityspalvelimen URL ja Service Busin yhteysmerkkijono. Sallittuun julkisen Service Bus -nimiavaruuden testiin ilman välityspalvelimen todennusta HTTP-merkintä HTTP-välityspalvelinluettelosta voi antaa proxyUrl:n. Pakettien ws ja https-proxy-agent on jo oltava sovelluksen riippuvuuksia. Taustalla oleva ws-välityspalvelinagentin rajapinta pitää WebSocket-palvelun ja välityspalvelimen osoitteet erillään.
Tämä rakentaa asiakkaan; yhteys syntyy, kun lähettäjä tai vastaanottaja suorittaa toiminnon. Säilytä se kyseistä työkuormaa varten ja odota client.close() sammutettaessa.
Paikanna vika välityspalvelimen tunnelin määrityksestä, WebSocket-neuvottelusta ja Service Bus -toiminnosta. Välityspalvelimen on sallittava kyseinen kohde ja istunto. Lyhyt HTTPS-käyttö ei todista päivitystukea eikä hyväksyttävää pitkäaikaisten yhteyksien rajaa.
Tämä on yhteysmerkkijonon ylikuormitus. Identiteettitunnus voi lisätä erikseen määritetyn tokenin hankintapolun. Vanhat azure-sb REST -pätkät käyttävät toista sukupolvea; tunnista paketti ennen sen siirtovaihtoehtojen valintaa.