Untuk klien perpesanan Service Bus v7 Node di belakang proksi HTTP, gunakan susunan AMQP-over-WebSockets dari 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 string koneksi Service Bus. Untuk uji namespace Service Bus publik yang diizinkan tanpa autentikasi proksi, entri HTTP dari daftar proksi HTTP dapat menyediakan proxyUrl. Paket ws dan https-proxy-agent harus sudah menjadi dependensi aplikasi. Antarmuka agen proksi ws yang mendasarinya menjaga layanan WebSocket dan alamat proksi tetap terpisah.

Ini membangun klien; koneksi terjadi saat pengirim atau penerima melakukan operasi. Pertahankan untuk beban kerja itu dan tunggu client.close() saat mematikan.

Temukan kegagalan di antara penyiapan terowongan proksi, negosiasi WebSocket, dan operasi Service Bus. Proksi harus mengizinkan tujuan dan sesi itu. Akses HTTPS singkat tidak membuktikan dukungan peningkatan atau batas koneksi jangka panjang yang dapat diterima.

Ini adalah kelebihan beban string koneksi. Kredensial identitas dapat menambahkan jalur perolehan token yang dikonfigurasi terpisah. Cuplikan REST azure-sb lama menggunakan generasi lain; identifikasi paket sebelum memilih opsi transportasinya.

Artikel terkait