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 ਸਨਿੱਪਟ ਦੂਜੀ ਪੀੜ੍ਹੀ ਵਰਤਦੇ ਹਨ; ਇਸਦੇ ਟ੍ਰਾਂਸਪੋਰਟ ਵਿਕਲਪ ਚੁਣਨ ਤੋਂ ਪਹਿਲਾਂ ਪੈਕੇਜ ਦੀ ਪਛਾਣ ਕਰੋ।