Για τον πελάτη ανταλλαγής μηνυμάτων Service Bus v7 του Node πίσω από διαμεσολαβητή HTTP, χρησιμοποιήστε τη διάταξη AMQP-over-WebSockets του δείγματος του 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 },
  },
});

Δώστε το URL του διαμεσολαβητή και τη συμβολοσειρά σύνδεσης του Service Bus. Για μια επιτρεπόμενη δοκιμή δημόσιου namespace του Service Bus χωρίς έλεγχο ταυτότητας διαμεσολαβητή, μια καταχώριση HTTP από τη λίστα διαμεσολαβητών HTTP μπορεί να δώσει proxyUrl. Τα πακέτα ws και https-proxy-agent πρέπει να είναι ήδη εξαρτήσεις της εφαρμογής. Η υποκείμενη διεπαφή πράκτορα διαμεσολαβητή του ws κρατά την υπηρεσία WebSocket και τις διευθύνσεις του διαμεσολαβητή χωριστά.

Αυτό κατασκευάζει τον πελάτη· η σύνδεση συμβαίνει όταν αποστολέας ή παραλήπτης εκτελεί μια πράξη. Κρατήστε τον για αυτό το φορτίο και περιμένετε το client.close() κατά τον τερματισμό.

Εντοπίστε μια αποτυχία στη ρύθμιση της σήραγγας του διαμεσολαβητή, στη διαπραγμάτευση WebSocket και στην πράξη του Service Bus. Ο διαμεσολαβητής πρέπει να επιτρέπει αυτόν τον προορισμό και τη συνεδρία. Η σύντομη πρόσβαση HTTPS δεν αποδεικνύει υποστήριξη αναβάθμισης ούτε αποδεκτό όριο μακροχρόνιων συνδέσεων.

Αυτή είναι η υπερφόρτωση με συμβολοσειρά σύνδεσης. Ένα διαπιστευτήριο ταυτότητας μπορεί να προσθέσει ξεχωριστά διαμορφωμένη διαδρομή απόκτησης token. Τα παλιά αποσπάσματα REST του azure-sb χρησιμοποιούν άλλη γενιά· προσδιορίστε το πακέτο πριν επιλέξετε τις επιλογές μεταφοράς του.

Σχετικά άρθρα