مشاركة عبر


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

    لقطة شاشة توضح كيفية فتح Azure Cloud Shell من مدخل Microsoft Azure.

  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، حدد إنشاء مورد، ثم اكتب "تطبيق منطقي" في مربع البحث وحدد إرجاع. حدد التطبيق المنطقي من النتائج.

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

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

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

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

  4. حدد "Review + create".

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

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

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

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

اختر مشغلاً

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

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

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

    حدد مشغل طلب HTTP

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

    استخدام حمولة عينة

  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 لتخطي خطوة تسجيل الدخول.

    تحديد موصل موفر البريد الإلكتروني

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

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

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

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

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

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

    لقطة شاشة تعرض نموذج إخراج النص المكثف.

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

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

    لقطة شاشة تعرض كيفية إنشاء عنوان بريد إلكتروني للحدث في القالب.

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

نسخ عنوان URL HTTP

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

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

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

    نسخ HTTP POST URL

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

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

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

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

  2. حدد Events.

    فتح تفاصيل Event Grid

  3. حدد 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 محددين.

        تحديد أنواع أحداث الاشتراك

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

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

      تحديد عنوان URL لنقطة النهاية

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

      لقطة شاشة تعرض صفحة

  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".

    لقطة شاشة تعرض رسالة البريد الإلكتروني التي يجب أن تتلقاها.

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

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

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

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

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

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

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