Azure Service Bus dla Node.js: proxy HTTP przez AMQP na WebSockets
Skonfiguruj @azure/service-bus z ws i HttpsProxyAgent, gdy połączenie AMQP musi przejść przez proxy HTTP.
Dla klienta komunikatów Service Bus v7 w Node za proxy HTTP użyj układu AMQP przez WebSockets z przykładu 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 },
},
});
Podaj adres URL proxy i parametry połączenia Service Bus. Do dozwolonego testu publicznej przestrzeni nazw Service Bus bez uwierzytelniania proxy wpis HTTP z listy proxy HTTP może dostarczyć proxyUrl. Pakiety ws i https-proxy-agent muszą już być zależnościami aplikacji. Podstawowy interfejs agenta proxy ws utrzymuje usługę WebSocket i adresy proxy osobno.
To tworzy klienta; połączenie następuje, gdy nadawca lub odbiorca wykonuje operację. Zachowaj go dla tego obciążenia i przy zamykaniu poczekaj na client.close().
Znajdź awarię w konfiguracji tunelu proxy, negocjacji WebSocket i operacji Service Bus. Proxy musi zezwalać na ten cel i sesję. Krótki dostęp HTTPS nie dowodzi obsługi aktualizacji ani akceptowalnego limitu długotrwałych połączeń.
To jest przeciążenie z parametrami połączenia. Poświadczenie tożsamości może dodać osobno skonfigurowaną ścieżkę pozyskiwania tokenu. Stare fragmenty REST azure-sb używają innej generacji; zidentyfikuj pakiet przed wyborem opcji transportu.