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 స్నిప్పెట్లు మరొక తరాన్ని ఉపయోగిస్తాయి; దాని రవాణా ఎంపికలను ఎంచుకునే ముందు ప్యాకేజీని గుర్తించండి.