البرنامج التعليمي: إرسال إشعارات عبر البريد الإلكتروني بشأن أحداث 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. يتم استخدام حساب البريد الإلكتروني هذا لإرسال إخطارات الحدث.

إنشاء مركز IoT

يمكنك إنشاء مركز IoT جديد بسرعة باستخدام محطة Azure Cloud Shell الطرفية في المدخل.

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

  2. في أعلى يسار الصفحة، حدد زر Cloud Shell.

    Screenshot of how to open the Azure Cloud Shell from the Azure portal.

  3. قم بتشغيل الأمر التالي لإنشاء مورد مجموعة جديد:

    az group create --name {your resource group name} --location westus
    
  4. قم بتشغيل الأمر التالي لإنشاء مركز IoT:

    az iot hub create --name {your iot hub name} --resource-group {your resource group name} --sku S1 
    
  5. تصغير محطة Cloud Shell الطرفية. ستعود إلى shell في وقتٍ لاحق في البرنامج التعليمي.

إنشاء تطبيق منطقي

بعد ذلك، قم بإنشاء تطبيق منطقي وإضافة مشغل شبكة حدث HTTP الذي يعالج الطلبات من مركز IoT.

إنشاء مورد تطبيق منطقي

  1. في مدخل Azure، حدد إنشاء مورد، ثم اكتب "تطبيق منطقي" في مربع البحث وحدد إرجاع. حدد التطبيق المنطقي من النتائج.

    Screenshot of how to select the logic app from a list of resources.

  2. في الشاشة التالية، حدد إنشاء.

  3. امنح التطبيق المنطقي اسمًا فريدًا في اشتراكك، ثم حدد نفس الاشتراك ومجموعة الموارد والموقع الذي حدده مركز IoT. اختر نوع خطة الاستهلاك.

    Screenshot of how to configure your logic app.

  4. حدد "Review + create".

  5. راجع الإعدادات، ثم حدد إنشاء.

  6. بمجرد إنشاء المورد، حدد الانتقال إلى المورد.

  7. في مصمم التطبيقات المنطقية، حرك الصفحة لأسفل لمشاهدة القوالب. اختر تطبيق منطقي فارغ بحيث يمكنك إنشاء تطبيق منطقي من الصفر.

    Screenshot of the Logic App Designer templates.

اختر مشغلاً

المشغل عبارة عن حدث محدد يبدأ تطبيقك المنطقي. لهذا البرنامج التعليمي، المشغل الذي يقوم بتعيين سير العمل يتلقى طلبًا عبر HTTP.

  1. في شريط البحث الخاص بالموصلات والمشغلات، اكتب HTTP.

  2. قم بالتمرير خلال النتائج وحدد طلب - عند تلقي طلب HTTP كمشغل.

    Select HTTP request trigger

  3. حدد استخدام حمولة عينة لإنشاء مخطط.

    Use sample payload

  4. انسخ json أدناه واستبدل قيم العنصر النائب بـ <> الخاصة بك.

  5. الصق مخطط الحدث المتصل بالجهاز 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. يمكنك تجاهل هذا الاقتراح بأمان، والانتقال إلى القسم التالي.

إنشاء إجراء

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

  1. حدد خطوة جديدة. تظهر نافذة تطالبك باختيار إجراء.

  2. ابحث عن Outlook.

  3. استناداً إلى موفر البريد الإلكتروني لديك، ابحث عن الموصل المطابق وحدده. يستخدم هذا البرنامج التعليمي Outlook.com. خطوات موفري خدمات البريد الإلكتروني الأخرى متشابهة. بدلاً من ذلك، استخدم Office 365 Outlook لتخطي خطوة تسجيل الدخول.

    Select email provider connector

  4. حدد الإجراء إرسال بريد إلكتروني (V2).

  5. حدد تسجيل الدخول ثم قم بتسجيل الدخول إلى حساب البريد الإلكتروني الخاص بك. حدد نعم للسماح للتطبيق بالوصول إلى معلوماتك.

  6. إنشاء قالب البريد الإلكتروني الخاص بك.

    • إلى: أدخل عنوان البريد الإلكتروني لتلقي رسائل الإعلام الإلكترونية. لهذا البرنامج التعليمي، استخدم حساب بريد إلكتروني يمكنك الوصول إليه لاختباره.

    • الموضوع: املأ نص الموضوع. عند النقر فوق المربع النصي الموضوع، يمكنك تحديد محتوى ديناميكي لتضمينه. على سبيل المثال، يستخدم هذا البرنامج التعليمي IoT Hub alert: {eventType}. إذا لم تتمكن من رؤية المحتوى الديناميكي، فحدد الارتباط التشعبي إضافة محتوى ديناميكي للتبديل بين تشغيل عرض المحتوى الديناميكي أو إيقاف تشغيله.

    بعد تحديد eventType، سترى إخراج نموذج البريد الإلكتروني حتى الآن. حدد إرسال والبريد الإلكتروني (V2) لتحرير النص الأساسي للبريد الإلكتروني.

    Screenshot of the condensed body output form.

    • النص الأساسي: اكتب النص للبريد الإلكتروني. حدد خصائص JSON من أداة محدد لتضمين محتوى حيوي يستند إلى بيانات الحدث. إذا لم تتمكن من رؤية المحتوى الديناميكي، فحدد الارتباط التشعبي إضافة محتوى ديناميكي أسفل المربع النصي الأساسي. إذا لم يظهر لك الحقول التي تريدها، فانقر فوق المزيد في شاشة المحتوى الديناميكي لتضمين الحقول من الإجراء السابق.

    قد يبدو قالب البريد الإلكتروني الخاص بك مثل هذا المثال:

    Screenshot of how to create an event email in the template.

  7. حدد Save في Logic Apps Designer.

نسخ عنوان URL HTTP

قبل أن تغادر مصمم تطبيقات المنطق، انسخ عنوان URL الذي تنصت إليه تطبيقاتك المنطقية للحصول على مشغّل. يمكنك استخدام URL هذا لتكوين Event Grid.

  1. قم بتوسيع مربع تكوين المشغل عند تلقي طلب HTTP بالنقر فوقه.

  2. انسخ قيمة URL HTTP POST عن طريق تحديد زر النسخ المجاور له.

    Copy the HTTP POST URL

  3. احفظ عنوان URL هذا بحيث يمكنك الرجوع إليه في القسم التالي.

تكوين الاشتراك لأحداث مركز IoT

في هذا القسم، تقوم بتكوين مركز IoT الخاص بك لنشر الأحداث بينما تحدث.

  1. في مدخل Microsoft Azure توجه إلى مركز IoT. يمكنك العثور على مركز IoT الخاص بك عن طريق تحديد IoT Hub من لوحة معلومات Azure، ثم تحديد مثيل مركز IoT الخاص بك من قائمة الموارد.

  2. حدد Events.

    Open the Event Grid details

  3. حدد Event subscription.

    Create new event subscription

  4. أنشئ اشتراك الحدث بالقيم التالية:

    1. في القسم EVENT SUBSCRIPTION DETAILS:

      1. قم بتوفير اسم للاشتراك في الحدث.
      2. حدد Event Grid Schema في Event Schema.
    2. في القسم TOPIC DETAILS:

      1. تأكد من تعيين Topic type على الخيار IoT Hub.
      2. تأكد من تعيين اسم IoT hub كالقيمة الموجودة في المجال Source Resource.
      3. أدخل اسمًا لـ موضوع النظام الذي سيتم إنشاؤه لك. للتعرف على موضوعات النظام، راجع نظرة عامة على موضوعات النظام.
    3. في القسم EVENT TYPES:

      1. حدد القائمة المنسدلة تصفية إلى أنواع الحدث.

      2. قم بإلغاء تحديد مربعي الاختيار Device Created وDevice Deleted، مع ترك مربعي الاختيار Device Connected وDevice Disconnected محددين.

        select subscription event types

    4. في القسم ENDPOINT DETAILS:

      1. حدد نوع نقطة النهايةكشبكة ويب Hook.
      2. انقر فوق تحديد نقطة نهاية، والصق عنوان URL الذي نسخته من التطبيق المنطقي، وتأكيد التحديد.

      select endpoint url

      عند الانتهاء من ذلك، يجب أن يبدو الجزء شبيهًا بالمثال التالي:

      Screenshot of your 'Create Event Subscription' page in the Azure portal.

  5. حدد إنشاء.

محاكاة جهاز جديد يتصل ويرسل القياس عن بُعد

اختبر تطبيقك المنطقي عن طريق محاكاة اتصال جهاز بسرعة باستخدام Azure CLI.

  1. حدد زر Cloud Shell لإعادة فتح المحطة الطرفية لديك.

  2. قم بتشغيل الأمر التالي لإنشاء هوية جهاز محاكاة:

    az iot hub device-identity create --device-id simDevice --hub-name {YourIoTHubName}
    

    قد تستغرق المعالجة دقيقة. سترى نسخة JSON مطبوعة في وحدة التحكم الخاصة بك بمجرد إنشائها.

  3. قم بتشغيل الأمر التالي لمحاكاة توصيل جهازك بمركز IoT وإرسال القياس عن بُعد:

    az iot device simulate -d simDevice -n {YourIoTHubName}
    
  4. عندما يتصل الجهاز المحاكي بمركز IoT، ستتلقى رسالة بريد إلكتروني تخطرك بحدث "DeviceConnected".

  5. عند اكتمال المحاكاة، ستتلقى رسالة إلكترونية تخطرك بحدث "DeviceDisconnected".

    Screenshot of the email you should receive.

تنظيف الموارد

استخدم هذا البرنامج التعليمي الموارد التي تتكبد رسومًا على اشتراك Azure. عند الانتهاء من تجربة البرنامج التعليمي واختبار النتائج، قم بتعطيل أو حذف الموارد التي لا تريد الاحتفاظ بها.

لحذف كافة الموارد التي تم إنشاؤها في هذا البرنامج التعليمي، احذف مجموعة الموارد.

  1. حدد مجموعات الموارد، ثم حدد مجموعة الموارد لهذا البرنامج التعليمي.

  2. في جزء مجموعة الموارد، حدد حذف مجموعة الموارد. يُطلب منك إدخال اسم مجموعة الموارد، ثم يمكنك حذفه. كما تتم إزالة كافة الموارد الموجودة فيه.

الخطوات التالية

للحصول على قائمة كاملة من موصلات التطبيق المنطقي المدعومة، راجع