Node.js için Azure Service Bus: WebSockets üzerinden AMQP ile HTTP proxy
AMQP bağlantısı bir HTTP proxy'den geçmek zorunda olduğunda @azure/service-bus'u ws ve HttpsProxyAgent ile yapılandırın.
HTTP proxy arkasındaki Node Service Bus v7 mesajlaşma istemcisi için SDK örneğindeki AMQP-over-WebSockets düzenini kullanın:
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 },
},
});
Proxy URL'sini ve Service Bus bağlantı dizesini sağlayın. Proxy kimlik doğrulaması olmadan izin verilen genel bir Service Bus ad alanı testi için HTTP proxy listesindeki bir HTTP girişi proxyUrl sağlayabilir. ws ve https-proxy-agent paketleri zaten uygulama bağımlılıkları olmalıdır. Altta yatan ws proxy aracısı arabirimi WebSocket hizmeti ile proxy adreslerini ayrı tutar.
Bu, istemciyi oluşturur; bağlantı, bir gönderen veya alıcı işlem yaptığında gerçekleşir. Bu iş yükü için saklayın ve kapatırken client.close() bekleyin.
Hatayı proxy tüneli kurulumu, WebSocket anlaşması ve Service Bus işlemi arasında bulun. Proxy bu hedefe ve oturuma izin vermelidir. Kısa HTTPS erişimi, yükseltme desteğini veya kabul edilebilir uzun ömürlü bağlantı sınırını kanıtlamaz.
Bu, bağlantı dizesi aşırı yüklemesidir. Bir kimlik kimlik bilgisi, ayrı olarak yapılandırılmış bir belirteç edinme yolu ekleyebilir. Eski azure-sb REST parçacıkları başka bir nesil kullanır; taşıma seçeneklerini seçmeden önce paketi tanımlayın.