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 باستخدام "التطبيقات المنطقية" | يرسل التطبيق المنطقي رسالة إخطار إلكترونية في كل مرة تتم فيها إضافة جهاز إلى "مركز إنترنت الأشياء". |
التفاعل مع أحداث "مركز إنترنت الأشياء" باستخدام "شبكة الأحداث" لتشغيل الإجراءات | نظرة عامة حول دمج "مركز إنترنت الأشياء" مع "شبكة الأحداث". |
ترتيب الأحداث المتصلة بالجهاز وغير المتصلة به | عرض كيفية ترتيب أحداث حالة الاتصال بالجهاز. |
الخطوات التالية
- للحصول على مقدمة حول Azure Event Grid، راجع ما المقصود بشبكة الأحداث؟
- انظر التفاعل مع أحداث "مركز إنترنت الأشياء" باستخدام "شبكة الأحداث" لتشغيل الإجراءات لمعرفة كيفية عمل "مركز إنترنت الأشياء" وشبكة الأحداث" معاً.