Azure Service Bus untuk Node.js: proksi HTTP melalui AMQP di atas WebSockets
Konfigurasikan @azure/service-bus dengan ws dan HttpsProxyAgent apabila sambungan AMQP mesti melalui proksi HTTP.
Untuk klien pemesejan Service Bus v7 Node di belakang proksi HTTP, gunakan susunan AMQP-over-WebSockets daripada contoh 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 },
},
});
Berikan URL proksi dan rentetan sambungan Service Bus. Untuk ujian ruang nama Service Bus awam yang dibenarkan tanpa pengesahan proksi, entri HTTP daripada senarai proksi HTTP boleh memberikan proxyUrl. Pakej ws dan https-proxy-agent mesti sudah menjadi kebergantungan aplikasi. Antara muka ejen proksi ws yang mendasari memisahkan perkhidmatan WebSocket dan alamat proksi.
Ini membina klien; sambungan berlaku apabila pengirim atau penerima melakukan operasi. Simpan untuk beban kerja itu dan tunggu client.close() semasa mematikan.
Cari kegagalan antara persediaan terowong proksi, rundingan WebSocket dan operasi Service Bus. Proksi mesti membenarkan destinasi dan sesi itu. Akses HTTPS singkat tidak membuktikan sokongan peningkatan atau had sambungan jangka panjang yang boleh diterima.
Ini ialah beban lampau rentetan sambungan. Kredensial identiti boleh menambah laluan pemerolehan token yang dikonfigurasikan secara berasingan. Coretan REST azure-sb lama menggunakan generasi lain; kenal pasti pakej sebelum memilih pilihan pengangkutannya.