فهم سجل الهوية في مركز IoT الخاص بك

يحتوي كل مركز إنترنت أشياء على سجل هوية يخزن معلومات حول الأجهزة المسموح لها بالاتصال بمركز إنترنت الأشياء. قبل أن يتمكن جهاز أو وحدة نمطية من الاتصال بلوحة وصل IoT، يجب أن يكون هناك إدخال لهذا الجهاز أو الوحدة النمطية في سجل هوية لوحة وصل IoT. يجب كذلك مصادقة الجهاز أو الوحدة النمطية مع مركز IoT استنادًا إلى بيانات الاعتماد المُخزَّنة في سجل الهوية.

تعد هوية الجهاز المخزنة في سجل الهوية حساسة لحالة الأحرف.

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

استخدم سجل الهوية عندما تحتاج إلى ما يلي:

  • توفير الأجهزة أو الوحدات النمطية التي تتصل بلوحة وصل IoT.
  • تحكم في الوصول لكل جهاز/وحدة إلى جهاز لوحة الوصل أو نقاط النهاية التي تواجه الوحدة النمطية.

عمليات تسجيل الهوية

يكشف سجل هوية IoT Hub عن العمليات التالية:

  • إنشاء هوية الجهاز أو الوحدة
  • تحديث هوية الجهاز أو الوحدة
  • استرداد هوية الجهاز أو الوحدة من خلال الهوية
  • حذف هوية الجهاز أو الوحدة
  • إدراج ما يصل إلى 1000 هوية
  • تصدير هويات الجهاز إلى Azure Blob Storage
  • استيراد هويات الجهاز من Azure Blob Storage

يمكن لجميع هذه العمليات استخدام التزامن المتفائل، كما هو محدد في RFC7232.

هام

الطريقة الوحيدة لاسترداد جميع الهويات في سجل هوية مركز IoT هي استخدام وظيفة التصدير.

سجل هوية مركز IoT:

  • لا يحتوي على أي بيانات تعريف للتطبيق.

هام

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

ملاحظة

قد يستغرق الأمر بضع ثوانٍ حتى تكون هوية الجهاز أو الوحدة النمطية متاحة للاسترداد بعد الإنشاء. يرجى إعادة محاولة تشغيل عمليات الجهاز get أو الوحدة النمطية في حالة الفشل.

تعطيل الأجهزة

يمكنك تعطيل الأجهزة عن طريق تحديث خاصية الحالة لهوية في سجل الهوية. عادةً ما تستخدم هذه الخاصية في سيناريوهين:

  • أثناء عملية تنسيق التزويد. لمزيد من المعلومات، راجع توفير الجهاز.

  • إذا كنت تعتقد أن جهازا قد تعرض للخطر أو أصبح غير مصرح به لأي سبب من الأسباب.

    هام

    لا يتحقق IoT Hub من قوائم إبطال الشهادات عند مصادقة الأجهزة ذات المصادقة المستندة إلى الشهادة. إذا كان لديك جهاز يجب حظره من الاتصال ب IoT Hub بسبب شهادة يحتمل اختراقها، فيجب عليك تعطيل الجهاز في سجل الهوية.

هذه الميزة غير متوفرة للوحدات النمطية.

لمزيد من المعلومات، راجع تعطيل جهاز أو حذفه في مركز IoT.

استيراد هويات الأجهزة وتصديرها

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

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

لمزيد من المعلومات حول استيراد واجهات برمجة التطبيقات وتصديرها، راجع واجهات برمجة تطبيقات REST لموفر موارد مركز IoT. لمعرفة المزيد حول تشغيل مهام الاستيراد والتصدير، راجع الإدارة المجمعة لهويات جهاز مركز IoT.

يمكن أيضا تصدير هويات الجهاز واستيرادها من مركز IoT باستخدام واجهة برمجة تطبيقات الخدمة من خلال واجهة برمجة تطبيقات REST أو إحدى حزم SDK لخدمة IoT Hub.

توفير الأجهزة

تعتمد بيانات الجهاز التي يخزنها حل IoT معين على المتطلبات المحددة لهذا الحل. ولكن كحد أدنى، يجب أن يخزن الحل هويات الجهاز ومفاتيح المصادقة. يتضمن مركز Azure IoT سجل هوية يمكنه تخزين القيم لكل جهاز مثل المعرفات ومفاتيح المصادقة ورموز الحالة. يمكن للحل استخدام خدمات Azure الأخرى مثل تخزين الجدول أو تخزين Blob أو Azure Cosmos DB لتخزين بيانات الجهاز الأخرى.

توفير الجهاز هو عملية إضافة بيانات الجهاز الأولية إلى المخازن في الحل الخاص بك. لتمكين جهاز جديد من الاتصال بمركزك، يجب إضافة معرف الجهاز والمفاتيح إلى سجل هوية مركز IoT. كجزء من عملية التوفير، قد تحتاج إلى تهيئة البيانات الخاصة بالجهاز في مخازن الحلول الأخرى. يمكنك أيضًا استخدام مركز Azure IoT Device Provisioning Service لتمكين التزويد باللمس الصفري في الوقت المناسب لواحد أو أكثر من مراكز IoT دون الحاجة إلى تدخل بشري. لمعرفة المزيد، راجع وثائق خدمة التزويد.

إشعارات دورة حياة الجهاز والوحدة النمطية

يمكن لمركز IoT إشعار حل IoT عند إنشاء هوية جهاز أو حذفها عن طريق إرسال إشعارات دورة الحياة. للقيام بذلك، يحتاج حل IoT الخاص بك إلى إنشاء مسار وتعيين مصدر البيانات يساوي DeviceLifecycleEvents. بشكل افتراضي، لا يتم إرسال أية إشعارات بشأن دورة الحياة، ويعني ذلك أن تلك المسارات لا توجد بشكلٍ مسبق. من خلال إنشاء مسار مع مصدر بيانات يساوي DeviceLifecycleEvents، يتم إرسال أحداث دورة الحياة لكل من هويات الجهاز وهويات الوحدة النمطية؛ ومع ذلك، تختلف محتويات الرسالة اعتمادا على ما إذا كان يتم إنشاء الأحداث لهويات الوحدة النمطية أو هويات الجهاز. تجدر الإشارة إلى أنه بالنسبة لوحدات IoT Edge النمطية، يختلف تدفق إنشاء هوية الوحدة النمطية عن الوحدات النمطية الأخرى، ونتيجة لوحدات IoT Edge، يتم إرسال إعلام الإنشاء فقط إذا كان جهاز IoT Edge المقابل لهوية وحدة IoT Edge المحدثة قيد التشغيل. بالنسبة لجميع الوحدات النمطية الأخرى، يتم إرسال إعلامات دورة الحياة كلما تم تحديث هوية الوحدة النمطية على جانب مركز IoT. لمعرفة المزيد حول الخصائص والجسم الذي تم إرجاعه في رسالة الإعلام، راجعمخططات الأحداث بدون بيانات تتبع الاستخدام عن بُعد.

خصائص معرّف الجهاز

يتم تمثيل معرّفات الجهاز كمستندات بتنسيق JSON مع الخصائص التالية:

الخاصية الخيارات الوصف
معرف الجهاز مطلوب، للقراءة فقط عند إجراء تحديثات سلسلة تحسس حالة الأحرف (يصل طولها إلى 128 حرفاً) من الأحرف الأبجدية الرقمية ASCII 7 بت بالإضافة إلى أحرف خاصة معينة: - . % _ * ? ! ( ) , : = @ $ '. الأحرف الخاصة: + # غير معتمدة.
معرّف الجيل مطلوب، للقراءة فقط سلسلة تحسس حالة الأحرف مُنشأه بواسطة مركز IoT، يصل طولها إلى 128 حرفًا. تُستخدم هذه القيمة لتمييز الأجهزة بنفس معرّف الجهاز، عند حذفها وإعادة إنشائها.
etag مطلوب، للقراءة فقط سلسلة تمثل ETag ضعيفة لمعرّف الجهاز، وفقًا لـRFC7232.
مصادقة اختياري عنصر مُرَكب يحتوي على معلومات المصادقة ومواد الأمان. لمزيد من المعلومات، راجع آلية المصادقة في وثائق REST API.
الإمكانات اختياري مجموعة قدرات الجهاز. على سبيل المثال، ما إذا كان الجهاز عبارة عن جهاز حافة أم لا. لمزيد من المعلومات، راجع قدرات الجهاز في وثائق REST API.
deviceScope اختياري نطاق الجهاز. في أجهزة الحافة، يتم إنشاؤها تلقائيًا وغير قابلة للتغيير. مهمل في الأجهزة غير المتطورة. ومع ذلك، في الأجهزة التابعة (الطرفية)، قم بتعيين هذه الخاصية إلى نفس قيمة خاصية parentScopes (deviceScope للجهاز الأصل) للتوافق مع الإصدارات السابقة من واجهة برمجة التطبيقات. لمزيد من المعلومات، راجع IoT Edge كبوابة: العلاقات الأصل والتابع.
parentScopes اختياري نطاق الأصل المباشر للجهاز التابع (قيمة خاصية deviceScope للجهاز الأصل). في أجهزة الحافة، تكون القيمة فارغة إذا لم يكن للجهاز أصل. في الأجهزة غير المتطورة، لا تكون الخاصية موجودة إذا لم يكن للجهاز أصل. لمزيد من المعلومات، راجع IoT Edge كبوابة: العلاقات الأصل والتابع.
الحالة مطلوب مؤشر وصول. يمكن تمكينه أو تشغيله. إذا تم تمكينه، فسيُسمح للجهاز بالاتصال. إذا تم تعطيله، فلن يتمكن هذا الجهاز من الوصول إلى أي نقطة نهاية تواجه الجهاز.
سبب الحالة اختياري سلسلة من 128 حرفًا تخزن سبب حالة معرّف الجهاز. جميع أحرف UTF-8 مسموح بها.
وقت تحديث الحالة للقراءة فقط مؤشر زمني يوضح تاريخ ووقت آخر تحديث للحالة.
حالة الاتصال للقراءة فقط حقل يشير إلى حالة الاتصال: إما متصل أو غير متصل. يمثل هذا الحقل طريقة عرض مركز IoT لحالة اتصال الجهاز. مهم: يجب استخدام هذا الحقل فقط لأغراض التطوير/تصحيح الأخطاء. يتم تحديث حالة الاتصال فقط للأجهزة التي تستخدم MQTT أو AMQP. أيضا، يعتمد على عمليات اختبار الاتصال على مستوى البروتوكول (عمليات اختبار اتصال MQTT أو أجهزة اتصال AMQP)، ويمكن أن يكون لها تأخير أقصى 5 دقائق فقط. لهذه الأسباب، يمكن أن تكون هناك إيجابيات خاطئة، مثل الأجهزة غير المتصلة التي تم الإبلاغ عنها على أنها متصلة.
وقت تحديث حالة الاتصال للقراءة فقط مؤشر زمني، يوضح التاريخ وآخر مرة تم فيها تحديث حالة الاتصال.
وقت آخر نشاط للقراءة فقط مؤشر زمني، يظهر التاريخ وآخر مرة كان الجهاز فيها متصلاً أو استلم رسالة أو أرسل رسالة. هذه الخاصية متناسقة في النهاية، ولكن يمكن تأخيرها حتى 5 إلى 10 دقائق. لهذا السبب، لا ينبغي استخدامه في سيناريوهات الإنتاج.

ملاحظة

يمكن أن تمثل حالة الاتصال فقط عرض مركز IoT لحالة الاتصال. قد تتأخر تحديثات هذه الحالة وفقًا لشروط شروط الشبكة وتكويناتها.

ملاحظة

لا تدعم SDKs للجهاز حاليًا استخدام الأحرف + و# الموجودة في deviceId.

خصائص معرّف الوحدة النمطية

يتم تمثيل مُعرفات الوحدة النمطية كمستندات بتنسيق JSON مع الخصائص التالية:

الخاصية الخيارات الوصف
معرف الجهاز مطلوب، للقراءة فقط عند إجراء تحديثات سلسلة تحسس حالة الأحرف (يصل طولها إلى 128 حرفاً) من الأحرف الأبجدية الرقمية ASCII 7 بت بالإضافة إلى أحرف خاصة معينة: - . + % _ # * ? ! ( ) , : = @ $ '.
معرّف الوحدة النمطية مطلوب، للقراءة فقط عند إجراء تحديثات سلسلة تحسس حالة الأحرف (يصل طولها إلى 128 حرفاً) من الأحرف الأبجدية الرقمية ASCII 7 بت بالإضافة إلى أحرف خاصة معينة: - . + % _ # * ? ! ( ) , : = @ $ '.
معرّف الجيل مطلوب، للقراءة فقط سلسلة تحسس حالة الأحرف مُنشأه بواسطة مركز IoT، يصل طولها إلى 128 حرفًا. يتم استخدام هذه القيمة لتمييز الأجهزة ذات معرف الجهاز نفسه، عند حذفها وإعادة إنشائها.
etag مطلوب، للقراءة فقط سلسلة تمثل ETag ضعيفة لمعرّف الجهاز، وفقًا لـRFC7232.
مصادقة اختياري عنصر مُرَكب يحتوي على معلومات المصادقة ومواد الأمان. لمزيد من المعلومات، راجع آلية المصادقة في وثائق REST API.
managedBy اختياري يحدد من يدير هذه الوحدة النمطية. على سبيل المثال، هذه القيمة هي "IoT Edge" إذا كان وقت تشغيل الحافة يمتلك هذه الوحدة النمطية.
cloudToDeviceMessageCount للقراءة فقط عدد رسائل السحابة إلى الوحدة النمطية المدرجة حاليًا في قائمة الانتظار لإرسالها إلى الوحدة النمطية.
حالة الاتصال للقراءة فقط حقل يشير إلى حالة الاتصال: إما متصل أو غير متصل. يمثل هذا الحقل طريقة عرض مركز IoT لحالة اتصال الجهاز. مهم: يجب استخدام هذا الحقل فقط لأغراض التطوير/تصحيح الأخطاء. يتم تحديث حالة الاتصال فقط للأجهزة التي تستخدم MQTT أو AMQP. أيضا، يعتمد على عمليات اختبار الاتصال على مستوى البروتوكول (عمليات اختبار اتصال MQTT أو أجهزة اتصال AMQP)، ويمكن أن يكون لها تأخير أقصى 5 دقائق فقط. لهذه الأسباب، يمكن أن تكون هناك إيجابيات خاطئة، مثل الأجهزة غير المتصلة التي تم الإبلاغ عنها على أنها متصلة.
وقت تحديث حالة الاتصال للقراءة فقط مؤشر زمني، يوضح التاريخ وآخر مرة تم فيها تحديث حالة الاتصال.
وقت آخر نشاط للقراءة فقط مؤشر زمني، يظهر التاريخ وآخر مرة كان الجهاز فيها متصلاً أو استلم رسالة أو أرسل رسالة.

ملاحظة

لا تدعم SDKs للجهاز حاليًا استخدام الأحرف + و# الموجودة في deviceId وmoduleId.

مواد مرجعية إضافية

تتضمن المقالات المرجعية الأخرى في دليل مطور IoT Hub ما يلي:

  • تصف نقاط نهاية مركز IoT نقاط النهاية المختلفة التي يعرضها كل مركز IoT لوقت التشغيل وعمليات الإدارة.

  • يصف التقييد والحصص النسبية الحصص النسبية وسلوكيات التقييد التي تنطبق على خدمة مركز IoT.

  • يسرد جهاز Azure IoT ومجموعات SDK للخدمة العديد من حزم SDK للغة التي يمكنك استخدامها عند تطوير تطبيقات الجهاز والخدمة التي تتفاعل مع مركز IoT.

  • تصف لغة استعلام مركز IoT لغة الاستعلام التي يمكنك استخدامها لاسترداد المعلومات من مركز IoT حول توائم الجهاز ومهامه.

  • يوفر دعم مركز IoT MQTT مزيدا من المعلومات حول دعم مركز IoT لبروتوكول MQTT.

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

الآن بعد أن تعلمت كيفية استخدام سجل هوية IoT Hub، قد تكون مهتما بمقالات دليل مطور IoT Hub التالية:

لاستكشاف استخدام خدمة توفير جهاز IoT Hub لتمكين التزويد الذي لا يعمل باللمس في الوقت المناسب، راجع: