Azure Service Bus برای Node.js: پروکسی HTTP از طریق AMQP روی WebSockets
@azure/service-bus را با ws و HttpsProxyAgent پیکربندی کنید وقتی اتصال AMQP باید از یک پروکسی HTTP عبور کند.
برای کلاینت پیامرسانی Service Bus v7 در Node پشت پروکسی HTTP، از آرایش AMQP روی 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 },
},
});
نشانی پروکسی و رشتهٔ اتصال Service Bus را تأمین کنید. برای آزمون مجاز یک فضای نام عمومی Service Bus بدون احراز هویت پروکسی، یک ورودی HTTP از فهرست پروکسی HTTP میتواند proxyUrl را فراهم کند. بستههای ws و https-proxy-agent باید از قبل وابستگی برنامه باشند. رابط بنیادی عامل پروکسی ws سرویس WebSocket و نشانیهای پروکسی را جدا نگه میدارد.
این کلاینت را میسازد؛ اتصال زمانی رخ میدهد که فرستنده یا گیرنده عملیاتی انجام دهد. آن را برای آن بار کاری نگه دارید و هنگام خاموش شدن منتظر client.close() بمانید.
خطا را میان راهاندازی تونل پروکسی، مذاکرهٔ WebSocket و عملیات Service Bus پیدا کنید. پروکسی باید آن مقصد و نشست را مجاز کند. دسترسی کوتاه HTTPS نه پشتیبانی از ارتقا را اثبات میکند و نه سقف قابلقبولی برای اتصالهای طولانیمدت.
این بارگذاری رشتهٔ اتصال است. یک اعتبارنامهٔ هویت میتواند مسیر جداگانهای برای دریافت توکن اضافه کند. قطعههای قدیمی REST در azure-sb از نسل دیگری استفاده میکنند؛ پیش از انتخاب گزینههای انتقال، بسته را شناسایی کنید.