Azure Service Bus para sa Node.js: HTTP proxy sa pamamagitan ng AMQP sa WebSockets
I-configure ang @azure/service-bus gamit ang ws at HttpsProxyAgent kapag kailangang dumaan sa HTTP proxy ang koneksyon ng AMQP.
Para sa Service Bus v7 messaging client ng Node sa likod ng HTTP proxy, gamitin ang AMQP-over-WebSockets na kaayusan ng SDK sample:
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 },
},
});
Ibibigay ang proxy URL at ang Service Bus connection string. Para sa pinapayagang pagsubok ng pampublikong Service Bus namespace na walang proxy authentication, ang HTTP entry mula sa listahan ng HTTP proxy ay maaaring magbigay ng proxyUrl. Ang mga pakete ng ws at https-proxy-agent ay dapat nang dependency ng application. Ang pinagbabatayang ws proxy-agent interface ay naghihiwalay sa WebSocket service at mga proxy address.
Binubuo nito ang client; nangyayari ang koneksyon kapag ang sender o receiver ay nagsagawa ng operasyon. Itago ito para sa workload na iyon at hintayin ang client.close() kapag pinapatay.
Hanapin ang pagkabigo sa pag-set up ng proxy tunnel, negosasyon ng WebSocket at operasyon ng Service Bus. Dapat pahintulutan ng proxy ang destinasyon at session na iyon. Ang maikling HTTPS access ay hindi nagpapatunay ng suporta sa upgrade o katanggap-tanggap na limitasyon ng pangmatagalang koneksyon.
Ito ang overload ng connection string. Ang isang identity credential ay makakadagdag ng hiwalay na naka-configure na landas sa pagkuha ng token. Ang lumang azure-sb REST snippet ay gumagamit ng ibang henerasyon; tukuyin ang pakete bago piliin ang mga opsyon sa transportasyon nito.