Azure Service Bus pre Node.js: HTTP proxy cez AMQP na WebSockets
Nakonfigurujte @azure/service-bus s ws a HttpsProxyAgent, keď musí AMQP pripojenie prejsť cez HTTP proxy.
Pre klientsku knižnicu Service Bus v7 pre Node za HTTP proxy použite usporiadanie AMQP cez WebSockets z ukážky 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 },
},
});
Zadajte URL proxy a pripojovací reťazec Service Bus. Pre povolený test verejného priestoru názvov Service Bus bez overovania proxy môže položka HTTP zo zoznamu HTTP proxy poskytnúť proxyUrl. Balíky ws a https-proxy-agent už musia byť závislosťami aplikácie. Základné rozhranie proxy agenta ws udržiava službu WebSocket a adresy proxy oddelene.
Toto vytvorí klienta; pripojenie vzniká, keď odosielateľ alebo prijímateľ vykoná operáciu. Ponechajte ho pre túto záťaž a pri ukončení počkajte na client.close().
Nájdite zlyhanie pri nastavení tunela proxy, vyjednávaní WebSocketu a operácii Service Bus. Proxy musí povoliť tento cieľ a reláciu. Krátky prístup cez HTTPS nepreukazuje podporu upgradu ani prijateľný limit dlhodobých pripojení.
Toto je preťaženie s pripojovacím reťazcom. Prihlasovací údaj identity môže pridať samostatne nakonfigurovanú cestu na získanie tokenu. Staré fragmenty REST pre azure-sb používajú inú generáciu; pred výberom jeho transportných možností identifikujte balík.