التشغيل السريع: نشر رسائل 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٪).
لإنشاء شهادات الجذر والشهادات المتوسطة، قم بتشغيل الأمر التالي. تذكر كلمة المرور، التي يجب استخدامها في الخطوة التالية.
step ca init --deployment-type standalone --name MqttAppSamplesCA --dns localhost --address 127.0.0.1:443 --provisioner MqttAppSamplesCAProvisioner
استخدم ملفات 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
لعرض بصمة الإبهام، قم بتشغيل الأمر خطوة.
step certificate fingerprint client1-authn-ID.pem
الآن، قم بإنشاء شهادة للعميل الثاني.
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
لعرض بصمة الإبهام لاستخدامها مع العميل الثاني، قم بتشغيل الأمر Step.
step certificate fingerprint client2-authn-ID.pem
إنشاء مساحة اسم
تسجيل الدخول إلى مدخل Azure.
في شريط البحث، اكتب Event Grid Namespaces، ثم حدد Event Grid Namespaces من القائمة المنسدلة.
في صفحة مساحات أسماء شبكة الأحداث، حدد + إنشاء على شريط الأدوات.
في صفحة Create namespace، اتبع الخطوات التالية:
حدد اشتراك Azure الخاص بك.
حدد مجموعة موارد موجودة أو حدد إنشاء جديد وأدخل اسما لمجموعة الموارد.
أدخل اسما فريدا لمساحة الاسم. يجب أن يكون اسم مساحة الاسم فريدا لكل منطقة لأنه يمثل إدخال DNS. لا تستخدم الاسم الموضح في الصورة. بدلا من ذلك، قم بإنشاء اسمك الخاص - يجب أن يتراوح بين 3-50 حرفا وأن يحتوي فقط على قيم a-z و A-Z و 0-9 و
-
.حدد موقعا لمساحة اسم Event Grid. حاليا، تتوفر مساحة اسم شبكة الأحداث فقط في مناطق محددة.
حدد مراجعة + إنشاء عند أسفل الصفحة.
في علامة التبويب Review + create في صفحة Create namespace ، حدد Create.
إشعار
للحفاظ على بساطة التشغيل السريع، ستستخدم صفحة الأساسيات فقط لإنشاء مساحة اسم. للحصول على خطوات مفصلة حول تكوين الشبكة والأمان والإعدادات الأخرى على صفحات المعالج الأخرى، راجع إنشاء مساحة اسم.
بعد نجاح النشر، حدد Go to resource للانتقال إلى صفحة نظرة عامة على مساحة اسم شبكة الأحداث لمساحة الاسم الخاصة بك.
في صفحة نظرة عامة، ترى أن وسيط MQTT في حالة معطل . لتمكين وسيط MQTT، حدد الارتباط معطل ، سيعاد توجيهك إلى صفحة التكوين.
في صفحة التكوين ، حدد الخيار تمكين وسيط MQTT، ثم حدد تطبيق لتطبيق الإعدادات.
إنشاء عملاء
في القائمة اليسرى، حدد العملاء في قسم وسيط MQTT.
في صفحة العملاء ، حدد + Client على شريط الأدوات.
في صفحة إنشاء عميل، أدخل اسما للعميل. يجب أن تكون أسماء العملاء فريدة في مساحة الاسم.
يتم تعيين اسم مصادقة العميل افتراضيا إلى اسم العميل. لهذا البرنامج التعليمي، قم بتغييره إلى
client1-authn-ID
. تحتاج إلى تضمين هذا الاسم كما فيUsername
حزمة CONNECT.في هذا البرنامج التعليمي، يمكنك استخدام المصادقة المستندة إلى بصمة الإبهام. قم بتضمين بصمة الإبهام لشهادة العميل الأولى في بصمة الإبهام الأساسية.
حدد Create على شريط الأدوات لإنشاء عميل آخر.
كرر الخطوات المذكورة أعلاه لإنشاء عميل ثان باسم
client2
. غير اسم المصادقة إلىclient2-authn-ID
وقم بتضمين بصمة الإبهام لشهادة العميل الثانية في بصمة الإبهام الأساسية.إشعار
- للحفاظ على بساطة QuickStart، ستستخدم مطابقة بصمة الإبهام للمصادقة. للحصول على خطوات مفصلة حول استخدام سلسلة شهادات المرجع المصدق X.509 لمصادقة العميل، راجع مصادقة العميل باستخدام سلسلة الشهادات.
- أيضا، نستخدم مجموعة العملاء الافتراضية
$all
، والتي تتضمن جميع العملاء في مساحة الاسم لهذا التمرين. لمعرفة المزيد حول إنشاء مجموعات عملاء مخصصة باستخدام سمات العميل، راجع مجموعات العملاء.
إنشاء مسافات المواضيع
في القائمة اليسرى، حدد مسافات الموضوع في قسم وسيط MQTT.
في صفحة مسافات الموضوع، حدد + مساحة الموضوع على شريط الأدوات.
أدخل اسما لمساحة الموضوع، في صفحة إنشاء مساحة موضوع.
أدخل
contosotopics/topic1
لقالب الموضوع، ثم حدد إنشاء لإنشاء مساحة الموضوع.
تكوين التحكم في الوصول باستخدام روابط الأذونات
في القائمة اليسرى، حدد روابط الأذونات في قسم وسيط MQTT.
في صفحة روابط الأذونات، حدد + ربط الأذونات على شريط الأدوات.
تكوين ربط الإذن كما يلي:
أدخل اسما لربط الإذن. على سبيل المثال،
contosopublisherbinding
بالنسبة إلى اسم مجموعة العملاء، حدد $all.
بالنسبة إلى اسم مساحة الموضوع، حدد مساحة الموضوع التي أنشأتها في الخطوة السابقة.
امنح Publisher الإذن لمجموعة العملاء حول مساحة الموضوع.
حدد إنشاء لإنشاء ربط الأذونات.
أنشئ ربط أذونات آخر (
contososubscriberbinding
) عن طريق تحديد + ربط الأذونات على شريط الأدوات.أدخل اسما وامنح $all مجموعة العملاء حق الوصول إلى ContosoTopicSpace كما هو موضح.
حدد إنشاء لإنشاء ربط الأذونات.
توصيل العملاء بمساحة اسم EG باستخدام تطبيق MQTTX
لنشر / الاشتراك في رسائل MQTT، يمكنك استخدام أي من الأدوات المفضلة لديك. لغرض العرض التوضيحي، يتم عرض النشر / الاشتراك باستخدام تطبيق MQTTX، والذي يمكن تنزيله من https://mqttx.app/.
حدد + على شريط التنقل إلى اليسار.
تكوين client1 باستخدام
الاسم ك
client1
(يمكن أن تكون هذه القيمة أي شيء)معرف العميل ك
client1-session1
(يتم استخدام معرف العميل في حزمة CONNECT لتحديد معرف جلسة العمل لاتصال العميل)اسم المستخدم ك
client1-authn-ID
. يجب أن تتطابق هذه القيمة مع قيمة اسم مصادقة العميل التي حددتها عند إنشاء العميل في مدخل Microsoft Azure.هام
يجب أن يتطابق اسم المستخدم مع اسم مصادقة العميل في بيانات تعريف العميل.
تحديث اسم المضيف إلى اسم مضيف MQTT من صفحة Overview لمساحة الاسم.
تحديث المنفذ إلى 8883.
تبديل SSL/TLS إلى تشغيل.
قم بتبديل SSL Secure إلى ON، لضمان التحقق من صحة شهادة الخدمة.
حدد Certificate as CA أو Self signed certificates.
توفير مسار ملف شهادة العميل.
توفير المسار لملف مفتاح العميل.
يمكن ترك بقية الإعدادات بقيم افتراضية معرفة مسبقا.
حدد Connect لتوصيل العميل بوسيط MQTT.
كرر الخطوات المذكورة أعلاه لتوصيل العميل الثاني2، بمعلومات المصادقة المقابلة كما هو موضح.
النشر/الاشتراك باستخدام تطبيق MQTTX
بعد توصيل العملاء، بالنسبة إلى client2، حدد الزر + New Subscription .
أضف
contosotopics/topic1
كموضوع وحدد Confirm. يمكنك ترك الحقول الأخرى بقيم افتراضية موجودة.حدد client1 في السكك الحديدية اليسرى.
بالنسبة إلى client1، أعلى مربع إنشاء الرسالة، اكتب
contosotopics/topic1
كموضوع للنشر عليه.إنشاء رسالة. يمكنك استخدام أي تنسيق أو JSON كما هو موضح.
حدد الزر إرسال.
يجب أن ينظر إلى الرسالة على أنها منشورة في العميل 1.
التبديل إلى client2. تأكد من تلقي client2 للرسالة.
المحتوى ذو الصلة
- البرنامج التعليمي: توجيه رسائل MQTT إلى مراكز أحداث Azure باستخدام مواضيع مساحة الاسم
- البرنامج التعليمي: توجيه رسائل MQTT إلى Azure Functions باستخدام مواضيع مخصصة
- للحصول على نماذج التعليمات البرمجية، انتقل إلى هذا المستودع.