البرنامج التعليمي: إرسال إشعارات عبر البريد الإلكتروني بشأن أحداث Azure IoT Hub باستخدام Event Grid والتطبيقات المنطقية
يتيح لك Azure Event Grid التفاعل مع الأحداث في مركز IoT عن طريق تشغيل إجراءات في تطبيقات الأعمال في المراحل النهائية.
تدرس هذه المقالة تكوين نموذج يستخدم مركز IoT وEvent Grid. في النهاية، لديك تطبيق Azure Logic تم إعداده لإرسال إخطار بالبريد الإلكتروني في كل مرة يتصل فيها أو ينقطع اتصال جهاز بمركز IoT لديك. يمكن استخدام Event Grid للحصول على إخطار في الوقت المناسب حول قطع اتصال الأجهزة الهامة. قد تستغرق القياسات والتشخيصات عدة دقائق (مثل 20 دقيقة أو أكثر) للظهور في السجلات / التنبيهات. قد تكون أوقات المعالجة الأطول غير مقبولة للبنية الأساسية الحرجة.
إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.
المتطلبات الأساسية
- حساب بريد إلكتروني من أي مزود بريد إلكتروني معتمد من تطبيقات Azure Logic، مثل Office 365 Outlook أو Outlook.com. يتم استخدام حساب البريد الإلكتروني هذا لإرسال إخطارات الحدث.
استخدم بيئة Bash في Azure Cloud Shell. لمزيد من المعلومات، راجع التشغيل السريع ل Bash في Azure Cloud Shell.
إذا كنت تفضل تشغيل أوامر مرجع CLI محلياً قم بتثبيت CLI Azure. إذا كنت تعمل على نظام تشغيل Windows أو macOS، ففكر في تشغيل Azure CLI في حاوية Docker. لمزيد من المعلومات، راجع كيفية تشغيل Azure CLI في حاوية Docker.
إذا كنت تستخدم تثبيت محلي، يُرجى تسجيل الدخول إلى Azure CLI مستخدمًا أمر az login. لإنهاء عملية المصادقة، اتبع الخطوات المعروضة في جهازك. للحصول على خيارات أخرى لتسجيل دخول، راجع تسجيل الدخول باستخدام Azure CLI.
عندما يُطلب منك، قم بتثبيت ملحق Azure CLI عند الاستخدام لأول مرة. لمزيد من المعلومات بشأن الامتدادات، راجع استخدام امتدادات مع Azure CLI.
يُرجى تشغيل إصدار az للوصول إلى الإصدار والمكتبات التابعة التي تم تثبيتها. للتحديث لآخر إصدار، يُرجى تشغيل تحديث az.
إنشاء مركز IoT
يمكنك إنشاء مركز IoT جديد بسرعة باستخدام محطة Azure Cloud Shell الطرفية في المدخل.
سجل الدخول إلى مدخل Azure.
في أعلى يسار الصفحة، حدد زر Cloud Shell.
قم بتشغيل الأمر التالي لإنشاء مورد مجموعة جديد:
az group create --name {your resource group name} --location westus
قم بتشغيل الأمر التالي لإنشاء مركز IoT:
az iot hub create --name {your iot hub name} --resource-group {your resource group name} --sku S1
تصغير محطة Cloud Shell الطرفية. ستعود إلى shell في وقتٍ لاحق في البرنامج التعليمي.
إنشاء تطبيق منطقي
بعد ذلك، قم بإنشاء تطبيق منطقي وإضافة مشغل شبكة حدث HTTP الذي يعالج الطلبات من مركز IoT.
إنشاء مورد تطبيق منطقي
في مدخل Azure، حدد إنشاء مورد، ثم اكتب "تطبيق منطقي" في مربع البحث وحدد إرجاع. حدد التطبيق المنطقي من النتائج.
في الشاشة التالية، حدد إنشاء.
امنح التطبيق المنطقي اسمًا فريدًا في اشتراكك، ثم حدد نفس الاشتراك ومجموعة الموارد والموقع الذي حدده مركز IoT. اختر نوع خطة الاستهلاك.
حدد "Review + create".
راجع الإعدادات، ثم حدد إنشاء.
بمجرد إنشاء المورد، حدد الانتقال إلى المورد.
في مصمم التطبيقات المنطقية، حرك الصفحة لأسفل لمشاهدة القوالب. اختر تطبيق منطقي فارغ بحيث يمكنك إنشاء تطبيق منطقي من الصفر.
اختر مشغلاً
المشغل عبارة عن حدث محدد يبدأ تطبيقك المنطقي. لهذا البرنامج التعليمي، المشغل الذي يقوم بتعيين سير العمل يتلقى طلبًا عبر HTTP.
في شريط البحث الخاص بالموصلات والمشغلات، اكتب HTTP.
قم بالتمرير خلال النتائج وحدد طلب - عند تلقي طلب HTTP كمشغل.
حدد استخدام حمولة عينة لإنشاء مخطط.
انسخ
json
أدناه واستبدل قيم العنصر النائب بـ<>
الخاصة بك.الصق مخطط الحدث المتصل بالجهاز JSON في المربع النصي، ثم حدد تم:
[{ "id": "f6bbf8f4-d365-520d-a878-17bf7238abd8", "topic": "/SUBSCRIPTIONS/<azure subscription ID>/RESOURCEGROUPS/<resource group name>/PROVIDERS/MICROSOFT.DEVICES/IOTHUBS/<hub name>", "subject": "devices/LogicAppTestDevice", "eventType": "Microsoft.Devices.DeviceConnected", "eventTime": "2018-06-02T19:17:44.4383997Z", "data": { "deviceConnectionStateEventInfo": { "sequenceNumber": "000000000000000001D4132452F67CE200000002000000000000000000000001" }, "hubName": "<hub name>", "deviceId": "LogicAppTestDevice", "moduleId" : "DeviceModuleID" }, "dataVersion": "1", "metadataVersion": "1" }]
هام
تأكد من لصق القصاصة البرمجية JSON في المربع الذي يوفره استخدام حمولة العينة لإنشاء ارتباط مخطط وليس مباشرةً في مربع مخطط نص الطلب JSON. يوفر ارتباط حمولة العينة طريقة لإنشاء محتوى JSON استنادًا إلى القصاصة البرمجية JSON. يختلف JSON النهائي الذي ينتهي في نص الطلب عن قصاصة JSON البرمجية.
يقوم هذا الحدث بالنشر عندما يتصل جهاز بمركز IoT.
إشعار
قد تتلقى إشعاراً منبثقاً نصه كم يلي: Remember to include a Content-Type header set to application/json in your request. يمكنك تجاهل هذا الاقتراح بأمان، والانتقال إلى القسم التالي.
إنشاء إجراء
الإجراءات هي أي خطوات تحدث بعد بدء أن يقوم المشغل بتشغيل سير عمل التطبيق المنطقي. بالنسبة إلى هذا البرنامج التعليمي، فإن الإجراء هو إرسال إشعار عبر البريد الإلكتروني من موفر البريد الإلكتروني الخاص بك.
حدد خطوة جديدة. تظهر نافذة تطالبك باختيار إجراء.
ابحث عن Outlook.
استناداً إلى موفر البريد الإلكتروني لديك، ابحث عن الموصل المطابق وحدده. يستخدم هذا البرنامج التعليمي Outlook.com. خطوات موفري خدمات البريد الإلكتروني الأخرى متشابهة. بدلاً من ذلك، استخدم Office 365 Outlook لتخطي خطوة تسجيل الدخول.
حدد الإجراء إرسال بريد إلكتروني (V2).
حدد تسجيل الدخول ثم قم بتسجيل الدخول إلى حساب البريد الإلكتروني الخاص بك. حدد نعم للسماح للتطبيق بالوصول إلى معلوماتك.
إنشاء قالب البريد الإلكتروني الخاص بك.
إلى: أدخل عنوان البريد الإلكتروني لتلقي رسائل الإعلام الإلكترونية. لهذا البرنامج التعليمي، استخدم حساب بريد إلكتروني يمكنك الوصول إليه لاختباره.
الموضوع: املأ نص الموضوع. عند النقر فوق المربع النصي الموضوع، يمكنك تحديد محتوى ديناميكي لتضمينه. على سبيل المثال، يستخدم هذا البرنامج التعليمي
IoT Hub alert: {eventType}
. إذا لم تتمكن من رؤية المحتوى الديناميكي، فحدد الارتباط التشعبي إضافة محتوى ديناميكي للتبديل بين تشغيل عرض المحتوى الديناميكي أو إيقاف تشغيله.
بعد تحديد
eventType
، سترى إخراج نموذج البريد الإلكتروني حتى الآن. حدد إرسال والبريد الإلكتروني (V2) لتحرير النص الأساسي للبريد الإلكتروني.- النص الأساسي: اكتب النص للبريد الإلكتروني. حدد خصائص JSON من أداة محدد لتضمين محتوى حيوي يستند إلى بيانات الحدث. إذا لم تتمكن من رؤية المحتوى الديناميكي، فحدد الارتباط التشعبي إضافة محتوى ديناميكي أسفل المربع النصي الأساسي. إذا لم يظهر لك الحقول التي تريدها، فانقر فوق المزيد في شاشة المحتوى الديناميكي لتضمين الحقول من الإجراء السابق.
قد يبدو قالب البريد الإلكتروني الخاص بك مثل هذا المثال:
حدد Save في Logic Apps Designer.
نسخ عنوان URL HTTP
قبل أن تغادر مصمم تطبيقات المنطق، انسخ عنوان URL الذي تنصت إليه تطبيقاتك المنطقية للحصول على مشغّل. يمكنك استخدام URL هذا لتكوين Event Grid.
قم بتوسيع مربع تكوين المشغل عند تلقي طلب HTTP بالنقر فوقه.
انسخ قيمة URL HTTP POST عن طريق تحديد زر النسخ المجاور له.
احفظ عنوان URL هذا بحيث يمكنك الرجوع إليه في القسم التالي.
تكوين الاشتراك لأحداث مركز IoT
في هذا القسم، تقوم بتكوين مركز IoT الخاص بك لنشر الأحداث بينما تحدث.
في مدخل Microsoft Azure توجه إلى مركز IoT. يمكنك العثور على مركز IoT الخاص بك عن طريق تحديد IoT Hub من لوحة معلومات Azure، ثم تحديد مثيل مركز IoT الخاص بك من قائمة الموارد.
حدد Events.
حدد Event subscription.
أنشئ اشتراك الحدث بالقيم التالية:
في القسم EVENT SUBSCRIPTION DETAILS:
- قم بتوفير اسم للاشتراك في الحدث.
- حدد Event Grid Schema في Event Schema.
في القسم TOPIC DETAILS:
- تأكد من تعيين Topic type على الخيار IoT Hub.
- تأكد من تعيين اسم IoT hub كالقيمة الموجودة في المجال Source Resource.
- أدخل اسمًا لـ موضوع النظام الذي سيتم إنشاؤه لك. للتعرف على موضوعات النظام، راجع نظرة عامة على موضوعات النظام.
في القسم EVENT TYPES:
حدد القائمة المنسدلة تصفية إلى أنواع الحدث.
قم بإلغاء تحديد مربعي الاختيار Device Created وDevice Deleted، مع ترك مربعي الاختيار Device Connected وDevice Disconnected محددين.
في القسم ENDPOINT DETAILS:
- حدد نوع نقطة النهايةكشبكة ويب Hook.
- انقر فوق تحديد نقطة نهاية، والصق عنوان URL الذي نسخته من التطبيق المنطقي، وتأكيد التحديد.
عند الانتهاء من ذلك، يجب أن يبدو الجزء شبيهًا بالمثال التالي:
حدد إنشاء.
محاكاة جهاز جديد يتصل ويرسل القياس عن بُعد
اختبر تطبيقك المنطقي عن طريق محاكاة اتصال جهاز بسرعة باستخدام Azure CLI.
حدد زر Cloud Shell لإعادة فتح المحطة الطرفية لديك.
قم بتشغيل الأمر التالي لإنشاء هوية جهاز محاكاة:
az iot hub device-identity create --device-id simDevice --hub-name {YourIoTHubName}
قد تستغرق المعالجة دقيقة. سترى نسخة JSON مطبوعة في وحدة التحكم الخاصة بك بمجرد إنشائها.
قم بتشغيل الأمر التالي لمحاكاة توصيل جهازك بمركز IoT وإرسال القياس عن بُعد:
az iot device simulate -d simDevice -n {YourIoTHubName}
عندما يتصل الجهاز المحاكي بمركز IoT، ستتلقى رسالة بريد إلكتروني تخطرك بحدث "DeviceConnected".
عند اكتمال المحاكاة، ستتلقى رسالة إلكترونية تخطرك بحدث "DeviceDisconnected".
تنظيف الموارد
استخدم هذا البرنامج التعليمي الموارد التي تتكبد رسومًا على اشتراك Azure. عند الانتهاء من تجربة البرنامج التعليمي واختبار النتائج، قم بتعطيل أو حذف الموارد التي لا تريد الاحتفاظ بها.
لحذف كافة الموارد التي تم إنشاؤها في هذا البرنامج التعليمي، احذف مجموعة الموارد.
حدد مجموعات الموارد، ثم حدد مجموعة الموارد لهذا البرنامج التعليمي.
في جزء مجموعة الموارد، حدد حذف مجموعة الموارد. يُطلب منك إدخال اسم مجموعة الموارد، ثم يمكنك حذفه. كما تتم إزالة كافة الموارد الموجودة فيه.
الخطوات التالية
- تعرف على المزيد حول التفاعل مع أحداث مركز IoT باستخدام Event Grid لتشغيل الإجراءات.
- تعرف على كيفية ترتيب الأحداث المتصلة وغير المتصلة بالجهاز
- تعرف على ما يمكنك القيام به أيضًا مع Event Grid.
للحصول على قائمة كاملة من موصلات التطبيق المنطقي المدعومة، راجع