Node.js-നായി Azure Service Bus: WebSockets-ൽ AMQP വഴി HTTP പ്രോക്സി
AMQP കണക്ഷൻ ഒരു HTTP പ്രോക്സിയിലൂടെ കടക്കേണ്ടിവരുമ്പോൾ @azure/service-bus-നെ ws, HttpsProxyAgent എന്നിവയോടൊപ്പം കോൺഫിഗർ ചെയ്യുക.
HTTP പ്രോക്സിക്ക് പിന്നിലുള്ള Node-ന്റെ Service Bus v7 സന്ദേശ ക്ലയന്റിനായി SDK സാമ്പിളിന്റെ AMQP-over-WebSockets ക്രമീകരണം ഉപയോഗിക്കുക:
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 കണക്ഷൻ സ്ട്രിംഗും നൽകുക. പ്രോക്സി ഓതന്റിക്കേഷൻ ഇല്ലാതെ അനുവദനീയമായ പൊതു Service Bus namespace പരീക്ഷണത്തിന് HTTP പ്രോക്സി പട്ടികയിലെ ഒരു HTTP എൻട്രിക്ക് proxyUrl നൽകാം. ws, https-proxy-agent പാക്കേജുകൾ ഇതിനകം ആപ്ലിക്കേഷൻ ആശ്രിതത്വങ്ങളായിരിക്കണം. അടിസ്ഥാന ws പ്രോക്സി-ഏജന്റ് ഇന്റർഫേസ് WebSocket സേവനവും പ്രോക്സി വിലാസങ്ങളും വേർതിരിച്ച് നിർത്തുന്നു.
ഇത് ക്ലയന്റ് നിർമ്മിക്കുന്നു; അയച്ചയാൾ അല്ലെങ്കിൽ സ്വീകർത്താവ് ഒരു പ്രവർത്തനം നടത്തുമ്പോൾ കണക്ഷൻ സംഭവിക്കുന്നു. ആ ജോലിഭാരത്തിനായി അത് നിലനിർത്തുക, ഷട്ട്ഡൗണിൽ client.close() കാത്തിരിക്കുക.
പ്രോക്സി ടണൽ ക്രമീകരണം, WebSocket ചർച്ച, Service Bus പ്രവർത്തനം എന്നിവയ്ക്കിടയിൽ പരാജയം കണ്ടെത്തുക. ആ ലക്ഷ്യസ്ഥാനവും സെഷനും പ്രോക്സി അനുവദിക്കണം. ചെറിയ HTTPS ആക്സസ് അപ്ഗ്രേഡ് പിന്തുണയോ സ്വീകാര്യമായ ദീർഘകാല കണക്ഷൻ പരിധിയോ തെളിയിക്കുന്നില്ല.
ഇത് കണക്ഷൻ-സ്ട്രിംഗ് ഓവർലോഡാണ്. ഒരു ഐഡന്റിറ്റി ക്രെഡൻഷ്യലിന് വെവ്വേറെ കോൺഫിഗർ ചെയ്ത ടോക്കൺ നേട്ട വഴി ചേർക്കാം. പഴയ azure-sb REST സ്നിപ്പറ്റുകൾ മറ്റൊരു തലമുറ ഉപയോഗിക്കുന്നു; അതിന്റെ ഗതാഗത ഓപ്ഷനുകൾ തിരഞ്ഞെടുക്കുന്നതിന് മുമ്പ് പാക്കേജ് തിരിച്ചറിയുക.