Azure IoT Python: تهيئة MQTT عبر WebSockets من خلال وكيل
هيّئ خيارات الوكيل التي يدعمها عميل Azure IoT Python واختر MQTT عبر WebSockets عن قصد.
في تطبيق يستخدم بالفعل Azure IoT Python SDK، اختر نقل MQTT وخيارات الوكيل الخاصة به معًا. يختار هذا الإعداد MQTT عبر WebSockets:
proxy = ProxyOptions(proxy_type='HTTP',
proxy_addr='203.0.113.10', proxy_port=8080)
client = IoTHubDeviceClient.create_from_connection_string(
connection_string, websockets=True, proxy_options=proxy
)
الفئات مأخوذة من الواجهة الموثّقة في SDK. مرّر سلسلة اتصال الجهاز عبر الإعداد السري للتطبيق واستبدل نقطة نهاية الوكيل في المثال. بالنسبة إلى نقطة نهاية IoT Hub يمكن الوصول إليها علنًا حيث يُسمح بالوسطاء العامين، تقدّم قائمة وكلاء HTTP مرشحين لمضيف ومنفذ HTTP؛ تأكّد من أن الخدمة تسمح بمسار الوجهة. هذه خيارات صريحة في SDK؛ فالوكيل العامل في المتصفح أو إعداد عام في نظام التشغيل لا يُنشئ مسار عميل الجهاز.
راجع مرجع ProxyOptions لنوع الوكيل المحدد. فهو يميّز حقول HTTP وSOCKS4 وSOCKS5 ويوثّق سلوك اسم المستخدم/كلمة المرور الخاص بكل نوع، بما في ذلك القيود المفروضة على HTTP. وجود الحقل لا يضمن كل آلية مصادقة.
يُصرّح حساب الوكيل وهوية الجهاز بمرحلتين مختلفتين. وقد يوقف تبادل وسيط مرفوض الاتصال قبل أن يقيّم الوسيط البروكر بيانات اعتماد الجهاز. كما أن اختيار WebSockets يُبقي قيود الوجهة والوصول الخاصة بالوكيل سارية.
سجّل النقل المحدد والوجهة وأول مرحلة فشلت. يجب أن يتوافق عميل SDK وتنفيذ الوكيل والمسار المسموح به؛ ولا طلب متصفح ناجح ولا ادّعاء عام بأن SOCKS يحمل كل بروتوكول يوفّر هذا التوافق.