مشاركة عبر


التشغيل السريع: نشر رسائل MQTT والاشتراك فيها على مساحة اسم شبكة الأحداث باستخدام مدخل Microsoft Azure

في هذا التشغيل السريع، يمكنك استخدام مدخل Microsoft Azure لإنشاء مساحة اسم Event Grid مع تمكين وسيط MQTT، وإنشاء موارد فرعية مثل العملاء ومجموعات العملاء ومساحات الموضوعات، ومنح العملاء حق الوصول لنشر مساحات الموضوعات والاشتراك فيها، ثم نشر الرسائل وتلقيها بين العملاء.

المتطلبات الأساسية

  • إنشاء حساب Azure مجاني إذا لم يكن لديك اشتراك Azure.
  • اقرأ نظرة عامة على Event Grid قبل بدء هذا البرنامج التعليمي، إذا كنت جديدا على Azure Event Grid.
  • تأكد من أن المنفذ 8883 مفتوح في جدار الحماية الخاص بك. يستخدم النموذج في هذا البرنامج التعليمي بروتوكول MQTT، الذي يتصل عبر المنفذ 8883. قد يتم حظر هذا المنفذ في بعض بيئات الشبكة التعليمية والشركات.
  • تحتاج إلى شهادة عميل X.509 لإنشاء بصمة الإبهام ومصادقة اتصال العميل.

إنشاء نموذج شهادة العميل وبصمة الإبهام

إذا لم يكن لديك شهادة بالفعل، يمكنك إنشاء نموذج شهادة باستخدام الخطوة CLI. ضع في اعتبارك التثبيت يدويا لنظام التشغيل Windows.

بعد تثبيت Step بنجاح، يجب فتح موجه أوامر في مجلد ملف تعريف المستخدم (Win+R type ٪USERPROFILE٪).

  1. لإنشاء شهادات الجذر والشهادات المتوسطة، قم بتشغيل الأمر التالي. تذكر كلمة المرور، التي يجب استخدامها في الخطوة التالية.

    step ca init --deployment-type standalone --name MqttAppSamplesCA --dns localhost --address 127.0.0.1:443 --provisioner MqttAppSamplesCAProvisioner
    
  2. استخدم ملفات CA التي تم إنشاؤها لإنشاء شهادة للعميل الأول. تأكد من استخدام المسار الصحيح لملفات الشهادة والأسرار في الأمر .

    step certificate create client1-authn-ID client1-authn-ID.pem client1-authn-ID.key --ca .step/certs/intermediate_ca.crt --ca-key .step/secrets/intermediate_ca_key --no-password --insecure --not-after 2400h
    
  3. لعرض بصمة الإبهام، قم بتشغيل الأمر خطوة.

    step certificate fingerprint client1-authn-ID.pem
    
  4. الآن، قم بإنشاء شهادة للعميل الثاني.

    step certificate create client2-authn-ID client2-authn-ID.pem client2-authn-ID.key --ca .step/certs/intermediate_ca.crt --ca-key .step/secrets/intermediate_ca_key --no-password --insecure --not-after 2400h
    
  5. لعرض بصمة الإبهام لاستخدامها مع العميل الثاني، قم بتشغيل الأمر Step.

    step certificate fingerprint client2-authn-ID.pem
    

إنشاء مساحة اسم

  1. تسجيل الدخول إلى مدخل Azure.

  2. في شريط البحث، اكتب Event Grid Namespaces، ثم حدد Event Grid Namespaces من القائمة المنسدلة.

    لقطة شاشة للبحث عن مساحة اسم شبكة الأحداث على مدخل Microsoft Azure.

  3. في صفحة مساحات أسماء شبكة الأحداث، حدد + إنشاء على شريط الأدوات.

  4. في صفحة Create namespace، اتبع الخطوات التالية:

    1. حدد اشتراك Azure الخاص بك.

    2. حدد مجموعة موارد موجودة أو حدد إنشاء جديد وأدخل اسما لمجموعة الموارد.

    3. أدخل اسما فريدا لمساحة الاسم. يجب أن يكون اسم مساحة الاسم فريدا لكل منطقة لأنه يمثل إدخال DNS. لا تستخدم الاسم الموضح في الصورة. بدلا من ذلك، قم بإنشاء اسمك الخاص - يجب أن يتراوح بين 3-50 حرفا وأن يحتوي فقط على قيم a-z و A-Z و 0-9 و -.

    4. حدد موقعا لمساحة اسم Event Grid. حاليا، تتوفر مساحة اسم شبكة الأحداث فقط في مناطق محددة.

      لقطة شاشة تعرض علامة التبويب «Event Grid namespace create flow basics».

  5. حدد مراجعة + إنشاء عند أسفل الصفحة.

  6. في علامة التبويب Review + create في صفحة Create namespace ، حدد Create.

    إشعار

    للحفاظ على بساطة التشغيل السريع، ستستخدم صفحة الأساسيات فقط لإنشاء مساحة اسم. للحصول على خطوات مفصلة حول تكوين الشبكة والأمان والإعدادات الأخرى على صفحات المعالج الأخرى، راجع إنشاء مساحة اسم.

  7. بعد نجاح النشر، حدد Go to resource للانتقال إلى صفحة نظرة عامة على مساحة اسم شبكة الأحداث لمساحة الاسم الخاصة بك.

  8. في صفحة نظرة عامة، ترى أن وسيط MQTT في حالة معطل . لتمكين وسيط MQTT، حدد الارتباط معطل ، سيعاد توجيهك إلى صفحة التكوين.

  9. في صفحة التكوين ، حدد الخيار تمكين وسيط MQTT، ثم حدد تطبيق لتطبيق الإعدادات.

    لقطة شاشة تعرض صفحة تكوين مساحة اسم شبكة الأحداث لتمكين MQTT.

إنشاء عملاء

  1. في القائمة اليسرى، حدد العملاء في قسم وسيط MQTT.

  2. في صفحة العملاء ، حدد + Client على شريط الأدوات.

    لقطة شاشة لصفحة العملاء مع تحديد الزر إضافة.

  3. في صفحة إنشاء عميل، أدخل اسما للعميل. يجب أن تكون أسماء العملاء فريدة في مساحة الاسم.

  4. يتم تعيين اسم مصادقة العميل افتراضيا إلى اسم العميل. لهذا البرنامج التعليمي، قم بتغييره إلى client1-authn-ID. تحتاج إلى تضمين هذا الاسم كما في Username حزمة CONNECT.

  5. في هذا البرنامج التعليمي، يمكنك استخدام المصادقة المستندة إلى بصمة الإبهام. قم بتضمين بصمة الإبهام لشهادة العميل الأولى في بصمة الإبهام الأساسية.

    لقطة شاشة لتكوين العميل 1.

  6. حدد Create على شريط الأدوات لإنشاء عميل آخر.

  7. كرر الخطوات المذكورة أعلاه لإنشاء عميل ثان باسم client2. غير اسم المصادقة إلى client2-authn-ID وقم بتضمين بصمة الإبهام لشهادة العميل الثانية في بصمة الإبهام الأساسية.

    لقطة شاشة لتكوين العميل 2.

    إشعار

    • للحفاظ على بساطة QuickStart، ستستخدم مطابقة بصمة الإبهام للمصادقة. للحصول على خطوات مفصلة حول استخدام سلسلة شهادات المرجع المصدق X.509 لمصادقة العميل، راجع مصادقة العميل باستخدام سلسلة الشهادات.
    • أيضا، نستخدم مجموعة العملاء الافتراضية $all ، والتي تتضمن جميع العملاء في مساحة الاسم لهذا التمرين. لمعرفة المزيد حول إنشاء مجموعات عملاء مخصصة باستخدام سمات العميل، راجع مجموعات العملاء.

إنشاء مسافات المواضيع

  1. في القائمة اليسرى، حدد مسافات الموضوع في قسم وسيط MQTT.

  2. في صفحة مسافات الموضوع، حدد + مساحة الموضوع على شريط الأدوات.

    لقطة شاشة لصفحة مسافات الموضوع مع تحديد زر الإنشاء.

  3. أدخل اسما لمساحة الموضوع، في صفحة إنشاء مساحة موضوع.

    لقطة شاشة لإنشاء مساحة موضوع بالاسم.

  4. أدخل contosotopics/topic1 لقالب الموضوع، ثم حدد إنشاء لإنشاء مساحة الموضوع.

    لقطة شاشة لتكوين مساحة الموضوع.

تكوين التحكم في الوصول باستخدام روابط الأذونات

  1. في القائمة اليسرى، حدد روابط الأذونات في قسم وسيط MQTT.

  2. في صفحة روابط الأذونات، حدد + ربط الأذونات على شريط الأدوات.

    لقطة شاشة تعرض صفحة روابط الأذونات مع تحديد الزر إنشاء.

  3. تكوين ربط الإذن كما يلي:

    1. أدخل اسما لربط الإذن. على سبيل المثال، contosopublisherbinding

    2. بالنسبة إلى اسم مجموعة العملاء، حدد $all.

    3. بالنسبة إلى اسم مساحة الموضوع، حدد مساحة الموضوع التي أنشأتها في الخطوة السابقة.

    4. امنح Publisher الإذن لمجموعة العملاء حول مساحة الموضوع.

      لقطة شاشة تعرض إنشاء ربط الإذن الأول.

  4. حدد إنشاء لإنشاء ربط الأذونات.

  5. أنشئ ربط أذونات آخر (contososubscriberbinding) عن طريق تحديد + ربط الأذونات على شريط الأدوات.

  6. أدخل اسما وامنح $all مجموعة العملاء حق الوصول إلى ContosoTopicSpace كما هو موضح.

    لقطة شاشة تعرض إنشاء ربط إذن ثان.

  7. حدد إنشاء لإنشاء ربط الأذونات.

توصيل العملاء بمساحة اسم EG باستخدام تطبيق MQTTX

  1. لنشر / الاشتراك في رسائل MQTT، يمكنك استخدام أي من الأدوات المفضلة لديك. لغرض العرض التوضيحي، يتم عرض النشر / الاشتراك باستخدام تطبيق MQTTX، والذي يمكن تنزيله من https://mqttx.app/.

  2. حدد + على شريط التنقل إلى اليسار.

  3. تكوين client1 باستخدام

    • الاسم ك client1 (يمكن أن تكون هذه القيمة أي شيء)

    • معرف العميل ك client1-session1 (يتم استخدام معرف العميل في حزمة CONNECT لتحديد معرف جلسة العمل لاتصال العميل)

    • اسم المستخدم ك client1-authn-ID. يجب أن تتطابق هذه القيمة مع قيمة اسم مصادقة العميل التي حددتها عند إنشاء العميل في مدخل Microsoft Azure.

      هام

      يجب أن يتطابق اسم المستخدم مع اسم مصادقة العميل في بيانات تعريف العميل.

  4. تحديث اسم المضيف إلى اسم مضيف MQTT من صفحة Overview لمساحة الاسم.

    لقطة شاشة تعرض صفحة نظرة عامة على مساحة اسم شبكة الأحداث، والتي تحتوي على اسم مضيف MQTT.

  5. تحديث المنفذ إلى 8883.

  6. تبديل SSL/TLS إلى تشغيل.

  7. قم بتبديل SSL Secure إلى ON، لضمان التحقق من صحة شهادة الخدمة.

  8. حدد Certificate as CA أو Self signed certificates.

  9. توفير مسار ملف شهادة العميل.

  10. توفير المسار لملف مفتاح العميل.

  11. يمكن ترك بقية الإعدادات بقيم افتراضية معرفة مسبقا.

    لقطة شاشة تعرض الجزء الأول من تكوين العميل 1 على تطبيق MQTTX.

  12. حدد Connect لتوصيل العميل بوسيط MQTT.

  13. كرر الخطوات المذكورة أعلاه لتوصيل العميل الثاني2، بمعلومات المصادقة المقابلة كما هو موضح.

    لقطة شاشة تعرض الجزء 1 من تكوين العميل 2 على تطبيق MQTTX.

    لقطة شاشة تعرض الجزء الثاني من تكوين العميل 2 على تطبيق MQTTX.

النشر/الاشتراك باستخدام تطبيق MQTTX

  1. بعد توصيل العملاء، بالنسبة إلى client2، حدد الزر + New Subscription .

  2. أضف contosotopics/topic1 كموضوع وحدد Confirm. يمكنك ترك الحقول الأخرى بقيم افتراضية موجودة.

    لقطة شاشة تعرض تكوين موضوع الاشتراك على تطبيق MQTTX.

  3. حدد client1 في السكك الحديدية اليسرى.

  4. بالنسبة إلى client1، أعلى مربع إنشاء الرسالة، اكتب contosotopics/topic1 كموضوع للنشر عليه.

  5. إنشاء رسالة. يمكنك استخدام أي تنسيق أو JSON كما هو موضح.

  6. حدد الزر إرسال.

    لقطة شاشة تعرض نشر الرسائل حول الموضوع في تطبيق MQTTX.

  7. يجب أن ينظر إلى الرسالة على أنها منشورة في العميل 1.

    لقطة شاشة تعرض الرسالة المنشورة حول الموضوع في تطبيق MQTTX.

  8. التبديل إلى client2. تأكد من تلقي client2 للرسالة.

    لقطة شاشة تعرض الرسالة التي تلقاها العميل المشارك على تطبيق MQTTX.