Azure IoT Hub كمصدر شبكة الأحداث

توفر هذه المقالة خصائص ومخطط أحداث حولAzure IoT Hub. للحصول على مقدمة لمخططات الأحداث، راجع مخطط حدث Azure Event Grid.

أنواع الأحداث المتاحة

يُصدر Azure IoT Hub أنواع الأحداث التالية:

نوع الحدث ‏‏الوصف
Microsoft.Devices.DeviceCreated يتم النشر عند تسجيل الجهاز في مركز إنترنت الأشياء.
Microsoft.Devices.DeviceDeleted يتم النشر عند حذف جهاز من مركز إنترنت الأشياء.
Microsoft.Devices.DeviceConnected يتم النشر عندما يكون الجهاز متصلاً بمركز إنترنت الأشياء.
Microsoft.Devices.DeviceDisconnected يتم النشر عند فصل جهاز عن مركز إنترنت الأشياء.
Microsoft.Devices.DeviceTelemetry نُشر عند إرسال رسالة بيانات تتبع الاستخدام إلى "مركز إنترنت الأشياء".

مثال حدث

مخططات الأحداث Device الاتصال ed وEviceDisconnected لها نفس البنية. يعرض هذا الحدث نموذج لمخطط حدث مرفوع عند توصيل جهاز ب"مركز إنترنت الأشياء":

[{
  "id": "f6bbf8f4-d365-520d-a878-17bf7238abd8", 
  "source": "/SUBSCRIPTIONS/<subscription ID>/RESOURCEGROUPS/<resource group name>/PROVIDERS/MICROSOFT.DEVICES/IOTHUBS/<hub name>", 
  "subject": "devices/LogicAppTestDevice", 
  "type": "Microsoft.Devices.DeviceConnected", 
  "time": "2018-06-02T19:17:44.4383997Z", 
  "data": {
    "deviceConnectionStateEventInfo": {
      "sequenceNumber":
        "000000000000000001D4132452F67CE200000002000000000000000000000001"
    },
    "hubName": "egtesthub1",
    "deviceId": "LogicAppTestDevice",
    "moduleId" : "DeviceModuleID"
  }, 
  "specversion": "1.0"
}]

يُرفع الحدث DeviceTelemetry عند إرسال حدث بيانات تتبع الاستخدام إلى "مركز إنترنت الأشياء". يُعرض أدناه مخطط نموذج لهذا الحدث.

[{
  "id": "9af86784-8d40-fe2g-8b2a-bab65e106785",
  "source": "/SUBSCRIPTIONS/<subscription ID>/RESOURCEGROUPS/<resource group name>/PROVIDERS/MICROSOFT.DEVICES/IOTHUBS/<hub name>", 
  "subject": "devices/LogicAppTestDevice", 
  "type": "Microsoft.Devices.DeviceTelemetry",
  "time": "2019-01-07T20:58:30.48Z",
  "data": {        
      "body": {            
          "Weather": {                
              "Temperature": 900            
          },
          "Location": "USA"        
      },
        "properties": {            
          "Status": "Active"        
        },
        "systemProperties": {            
            "iothub-content-type": "application/json",
            "iothub-content-encoding": "utf-8",
            "iothub-connection-device-id": "d1",
            "iothub-connection-auth-method": "{\"scope\":\"device\",\"type\":\"sas\",\"issuer\":\"iothub\",\"acceptingIpFilterRule\":null}",
            "iothub-connection-auth-generation-id": "123455432199234570",
            "iothub-enqueuedtime": "2019-01-07T20:58:30.48Z",
            "iothub-message-source": "Telemetry"        
        }    
    },
  "specversion": "1.0"
}]

مخططات الأحداث DeviceCreated و DeviceDeleted لها نفس البنية. يعرض نموذج الحدث هذا مخططاً لرفع حدث عند تسجيل جهاز إلى "مركز إنترنت الأشياء":

[{
  "id": "56afc886-767b-d359-d59e-0da7877166b2",
  "source": "/SUBSCRIPTIONS/<subscription ID>/RESOURCEGROUPS/<resource group name>/PROVIDERS/MICROSOFT.DEVICES/IOTHUBS/<hub name>",
  "subject": "devices/LogicAppTestDevice",
  "type": "Microsoft.Devices.DeviceCreated",
  "time": "2018-01-02T19:17:44.4383997Z",
  "data": {
    "twin": {
      "deviceId": "LogicAppTestDevice",
      "etag": "AAAAAAAAAAE=",
      "deviceEtag": "null",
      "status": "enabled",
      "statusUpdateTime": "0001-01-01T00:00:00",
      "connectionState": "Disconnected",
      "lastActivityTime": "0001-01-01T00:00:00",
      "cloudToDeviceMessageCount": 0,
      "authenticationType": "sas",
      "x509Thumbprint": {
        "primaryThumbprint": null,
        "secondaryThumbprint": null
      },
      "version": 2,
      "properties": {
        "desired": {
          "$metadata": {
            "$lastUpdated": "2018-01-02T19:17:44.4383997Z"
          },
          "$version": 1
        },
        "reported": {
          "$metadata": {
            "$lastUpdated": "2018-01-02T19:17:44.4383997Z"
          },
          "$version": 1
        }
      }
    },
    "hubName": "egtesthub1",
    "deviceId": "LogicAppTestDevice"
  },
  "specversion": "1.0"
}]

خصائص الحدث

تحتوي جميع الأحداث على نفس بيانات المستوى الأعلى:

الخاصية نوع الوصف
id سلسلة المعرف الفريد للحدث.
source سلسلة مسار المورد الكامل إلى مصدر الحدث. هذا الحقل غير قابل للكتابة. توفر شبكة الأحداث هذه القيمة.
subject سلسلة مسار يحدده الناشر لموضوع الحدث.
type سلسلة أحد أنواع الأحداث المسجلة لمصدر الحدث الماثل.
time سلسلة الوقت الذي يتم إنشاء الحدث استناداً إلى وقت UTC الموفر.
data كائن بيانات حدث "مركز إنترنت الأشياء".
specversion سلسلة إصدار مواصفات مخطط CloudEvents.

يحتوي عنصر بيانات جميع أحداث "مركز إنترنت الأشياء" على الخصائص التالية:

الخاصية نوع الوصف
hubName سلسلة اسم "مركز إنترنت الأشياء" حيث تم إنشاء الجهاز أو حذفه.
deviceId سلسلة المعرّف الفريد للجهاز. يمكن أن يصل طول هذه السلسلة الحساسة لحالة الأحرف إلى 128 حرفاً، وتدعم ASCII 7 بت بالإضافة إلى الأحرف الخاصة التالية: - : . + % _ # * ? ! ( ) , = @ ; $ '.

تختلف محتويات كائن البيانات لكل ناشر حدث.

يحتوي كائن البيانات بالنسبة إلى أحداث ""مركز إنترنت الأشياء" المتصل بالجهاز"و"الأجهزة المُنقطع اتصالها"، على الخصائص التالية:

الخاصية نوع الوصف
moduleId سلسلة المعرّف الفريد للوحدة النمطية. هذا الحقل مخصص فقط لإخراج أجهزة الوحدة النمطية. يمكن أن يصل طول هذه السلسلة الحساسة لحالة الأحرف إلى 128 حرفاً، وتدعم ASCII 7 بت بالإضافة إلى الأحرف الخاصة التالية: - : . + % _ # * ? ! ( ) , = @ ; $ '.
deviceConnectionStateEventInfo كائن معلومات حدث حالة اتصال الجهاز
sequenceNumber سلسلة رقم يساعد على تحديد ترتيب أحداث الأجهزة المتصلة أو المنقطع اتصالها. سيكون لأحدث حدث رقم تسلسل أعلى من الحدث السابق. قد يتغير هذا العدد بأكثر من 1، ولكنه يتزايد بصعوبة. راجع كيفية استخدام رقم التسلسل.

يحتوي عنصر البيانات على رسالة من جهاز إلى سحابة بتنسيق رسالة "مركز إنترنت الأشياء" لحدث "مركز إنترنت الأشياء" الخاص ببيانات تتبع استخدام الأجهزة، كما يحتوي على الخصائص التالية:

الخاصية نوع الوصف
body سلسلة محتوى الرسالة من الجهاز.
properties سلسلة خصائص التطبيق هي سلاسل معرفة من قبل المستخدم يمكن إضافتها إلى الرسالة. هذه الحقول اختيارية.
system properties سلسلة تساعد خصائص النظام في تحديد محتويات الرسائل ومصدرها. يجب أن تكون رسالة بيانات تتبع استخدام الجهاز بتنسيق JSON صالح مع تعيين نوع المحتوى إلى JSON وتعيين ترميز المحتوى إلى UTF-8 في خصائص نظام الرسائل. إذا لم يتم تعيين هذا، فسيكتب IoT Hub الرسائل بتنسيق ترميز أساسي 64.

يحتوي عنصر البيانات بالنسبة إلى أحداث "مركز إنترنت الأشياء" للأجهزة المتصلة و"الأجهزة المحذوفة"، على الخصائص التالية:

الخاصية نوع ‏‏الوصف
twin كائن معلومات حول الجهاز التوأم، وهو التمثيل السحابي لبيانات تعريف جهاز التطبيق.
deviceID سلسلة المعرّف الفريد للجهاز التوأمي.
etag سلسلة أداة صالحة لضمان تناسق التحديثات إلى الجهاز التوأمي. يُضمن أن يكون كل etag مميّزاً لكل جهاز توأمي.
deviceEtag سلسلة أداة صالحة لضمان تناسق التحديثات إلى سجل الجهاز. يُضمن أن يكون كل deviceEtag مميزاً كل سجل جهاز.
status سلسلة يشير إلى ما إذا كان الجهاز المزدوج ممكنا أو معطلا.
statusUpdateTime سلسلة الطابع الزمني ISO8601 لآخر تحديث حالة للجهاز التوأمي.
connectionState سلسلة يشير إلى ما إذا كان الجهاز متصلا أو غير متصل.
lastActivityTime سلسلة الطابع الزمني ISO8601 لآخر نشاط.
cloudToDeviceMessageCount integer عدد رسائل السحابة إلى الأجهزة المرسلة إلى هذا الجهاز.
authenticationType سلسلة نوع المصادقة المستخدم لهذا الجهاز: إما SAS أو SelfSigned أو CertificateAuthority.
x509Thumbprint سلسلة بصمة الإبهام هي قيمة فريدة لشهادة x509، وهي شائعة الاستخدام للعثور على شهادة معينة في مخزن شهادات. يتم إنشاء بصمة الإبهام ديناميكيا باستخدام خوارزمية SHA1، ولا توجد فعليا في الشهادة.
primaryThumbprint سلسلة بصمة الإبهام الأساسية لشهادة x509.
secondaryThumbprint سلسلة بصمة الإبهام الثانوية لشهادة x509.
version integer يُحدّث العدد الصحيح الذي يزيد بمقدار واحد في كل مرة يُحدّث فيها الجهاز التوأمي.
desired كائن جزء من الخصائص التي يمكن كتابتها فقط من قبل خلفية التطبيق ويقرأها الجهاز.
reported كائن جزء من الخصائص التي يمكن كتابتها فقط بواسطة الجهاز، وتقرأها خلفية التطبيق.
lastUpdated سلسلة الطابع الزمني ISO8601 لآخر تحديث لخصائص الجهاز التوأمي.

البرامج التعليمية والدروس المعرفية

المسمى الوظيفي ‏‏الوصف
إرسال إشعارات عبر البريد الإلكتروني بشأن أحداث Azure IoT Hub باستخدام "التطبيقات المنطقية" يرسل التطبيق المنطقي رسالة إخطار إلكترونية في كل مرة تتم فيها إضافة جهاز إلى "مركز إنترنت الأشياء".
التفاعل مع أحداث "مركز إنترنت الأشياء" باستخدام "شبكة الأحداث" لتشغيل الإجراءات نظرة عامة حول دمج "مركز إنترنت الأشياء" مع "شبكة الأحداث".
ترتيب الأحداث المتصلة بالجهاز وغير المتصلة به عرض كيفية ترتيب أحداث حالة الاتصال بالجهاز.

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