خصائص توائم وحدة IoT Edge ووحدة محور IoT Edge
ينطبق على:
IoT Edge 1.1 IoT Edge 1.2 ![]()
وكيل IoT Edge ومركز IoT Edge هما وحدتان تشكلان وقت تشغيل IoT Edge. لمزيد من المعلومات حول مسؤوليات كل وحدة نمطية لوقت التشغيل، راجع فهم وقت تشغيل Azure IoT Edge وبنيته.
توفر هذه المقالة الخصائص المطلوبة والخصائص التي تم الإبلاغ عنها للتوائم الوحدة النمطية لوقت التشغيل. لمزيد من المعلومات حول كيفية نشر الوحدات النمطية على أجهزة IoT Edge، راجع تعرف على كيفية نشر الوحدات النمطية وإنشاء مسارات في IoT Edge.
يتضمن توأم الوحدة ما يلي:
الخصائص المرغوبة. يمكن أن تحدد الواجهة الخلفية للحل الخصائص المطلوبة، ويمكن للوحدة النمطية قراءتها. يمكن للوحدة النمطية أيضًا تلقي إخطارات بالتغييرات في الخصائص المطلوبة. يتم استخدام الخصائص المرغوبة جنبا إلى جنب مع الخصائص المبلغ عنها لمزامنة تكوين الوحدة النمطية أو الشروط.
الخصائص المبلغ عنها. يمكن للوحدة النمطية تعيين الخصائص التي تم الإبلاغ عنها، ويمكن للواجهة الخلفية للحل قراءتها والاستعلام عنها. يتم استخدام الخصائص التي تم الإبلاغ عنها مع الخصائص المرغوبة لمزامنة تكوين الوحدة النمطية أو الشروط.
حافة العامل الخاصة بالخصائص المطلوبة
يتم استدعاء الوحدة النمطية المزدوجة لعامل IoT Edge$edgeAgentوتنسيق الاتصالات بين عامل IoT Edge الذي يشغل على الجهاز وIoT Hub. يتم تعيين الخصائص المطلوبة عند تطبيق بيان التوزيع على جهاز معين كجزء من توزيع جهاز واحد أو على نطاق توزيع واسع.
| الخاصية | الوصف | مطلوب |
|---|---|---|
| schemaVersion | إما «1.0» أو «1.1». تم تقديم الإصدار 1.1 مع IoT Edge الإصدار 1.0.10 ، ويوصى به. | نعم |
| نوع. وقت التشغيل | يجب أن يكون "عامل رصيف" | نعم |
| وقت التشغيل.الخاص بإعداد إصدار Docker | تعيين إلى الحد الأدنى من إصدار Docker المطلوب بواسطة بيان النشر هذا | نعم |
| خيارات إعدادات تسجيل الدخول في وقت التشغيل | JSON مشدد يحتوي على خيارات التسجيل ل حاوية عامل IoT Edge. خيارات تسجيل الإيداع | لا |
| runtime.settings.registryCredentials . {registryId}.username |
اسم المستخدم لسجل الحاوية. بالنسبة لـAzure Container Registry، يكون اسم المستخدم عادة هو اسم التسجيل. بيانات اعتماد التسجيل ضرورية لأي صور وحدة نمطية خاصة. |
لا |
| runtime.settings.registryCredentials . {registryId}.password |
رمز الوصول الخاص بتسجيل الحاوية. | لا |
| runtime.settings.registryCredentials . {registryId}.address |
عنوان التسجيل الخاص بالحاوية. بالنسبة إلى Azure Container Registry، يكون العنوان عادة {اسم التسجيل}.azurecr.io. | لا |
| systemModules.edgeAgent.type | يجب أن يكون "عامل رصيف" | نعم |
| systemModules.edgeAgent.settings.image | URI الخاص بصورة عامل IoT Edge. حاليا، لا يستطيع وكيل IoT Edge تحديث نفسه. | نعم |
| systemModules.edgeAgent.settings .createOptions |
JSON مشدد يحتوي على خيارات لإنشاء حاوية عامل IoT Edge. خيارات إنشاء Docker | لا |
| systemModules.edgeAgent.configuration.id | معرف التوزيع الذي يوزع هذه الوحدة النمطية. | يقوم مركز IoT بتعيين هذه الخاصية عند تطبيق البيان باستخدام التوزيع. ليس جزءا من بيان التوزيع. |
| systemModules.edgeHub.type | يجب أن يكون "عامل رصيف" | نعم |
| systemModules.edgeHub.status | يجب أن يكون "قيد التشغيل" | نعم |
| systemModules.edgeHub.restartPolicy | يجب أن يكون "دائما" | نعم |
| systemModules.edgeHub.startupOrder | القيمة الخاصة بعدد صحيح تحتوي على موضع في الوحدة النمطية بترتيب بدء التشغيل. 0 هو الأول وأقصى عدد صحيح (4294967295) هو الأحدث. في حالة لم يتم توفير القيمة، يكون العدد الصحيح الأقصى هو الحد الأقصى. | لا |
| systemModules.edgeHub.settings.image | URI الصورة الخاصة بمركز IoT Edge. | نعم |
| systemModules.edgeHub.settings .createOptions |
JSON سلسلة تحتوي على خيارات لإنشاء حاوية مركز IoT الحاوية. خيارات إنشاء Docker | لا |
| systemModules.edgeHub.configuration.id | معرف التوزيع الذي يوزع هذه الوحدة النمطية. | يقوم مركز IoT بتعيين هذه الخاصية عند تطبيق البيان باستخدام التوزيع. ليس جزءا من بيان التوزيع. |
| modules.{moduleId}.version | سلسلة الخاصة بالمعرف من قبل المستخدم تمثل إصدار هذه الوحدة النمطية. | نعم |
| modules.{moduleId}.type | يجب أن يكون "عامل رصيف" | نعم |
| modules.{moduleId}.status | {"running" | "stopped"} | نعم |
| modules.{moduleId}.restartPolicy | {"never" | "on-failure" | "on-unhealthy" | "always"} | نعم |
| modules.{moduleId}.startupOrder | القيمة الخاصة بعدد صحيح تحتوي على موضع في الوحدة النمطية بترتيب بدء التشغيل. 0 هو الأول وأقصى عدد صحيح (4294967295) هو الأحدث. في حالة لم يتم توفير القيمة، يكون العدد الصحيح الأقصى هو الحد الأقصى. | لا |
| modules.{moduleId}.imagePullPolicy | {"on-create" | "never"} | لا |
| وحدات. {moduleId}.env | قائمة بمتغيرات البيئة لتمريرها إلى الوحدة النمطية. يأخذ التنسيق "<name>": {"value": "<value>"} |
لا |
| modules.{moduleId}.settings.image | URI إلى الصورة الخاصة بالوحدة النمطية. | نعم |
| modules.{moduleId}.settings.createOptions | JSON سلسلة تحتوي على خيارات لإنشاء حاوية خاصة بالوحدة النمطية. خيارات إنشاء Docker | لا |
| modules.{moduleId}.configuration.id | معرف التوزيع الذي يوزع هذه الوحدة النمطية. | يقوم مركز IoT بتعيين هذه الخاصية عند تطبيق البيان باستخدام التوزيع. ليس جزءا من بيان التوزيع. |
EdgeAgent الخصائص المبلغ عنها
يتضمن عامل IoT Edge المبلغ عنه ثلاث قطع رئيسية من المعلومات:
- حالة تطبيق الخصائص المطلوبة الأحدث،
- حالة الوحدات النمطية قيد التشغيل حاليا على الجهاز، كما تم الإبلاغ عنها من قبل عامل IoT Edge،
- نسخة من الخصائص المرغوبة قيد التشغيل حاليا على الجهاز.
تعد نسخة الخصائص المطلوبة الحالية مفيدة لمعرفة ما إذا كان الجهاز قد طبق أحدث عملية نشر أو لا يزال يقوم بتشغيل بيان نشر سابق.
ملاحظة
تعد الخصائص المبلغ عنها لعامل IoT Edge مفيدة حيث يمكن الاستعلام عنها باستخدام لغة استعلام IoT Hub للتحقيق في حالة عمليات النشر على نطاق واسع. لمزيد من المعلومات حول كيفية استخدام خصائص عامل IoT Edge للحالة، راجع فهم عمليات نشر IoT Edge للأجهزة الفردية أو على نطاق واسع.
لا يحتوي الجدول التالي المعلومات التي يتم نسخها من الخصائص المطلوبة.
| الخاصية | الوصف |
|---|---|
| lastDesiredVersion | يشير هذا العدد الصحيح إلى الإصدار الأخير من الخصائص المطلوبة معالجتها بواسطة عامل IoT Edge. |
| lastDesiredStatus.code | يشير تعليمة برمجية الحالة هذا إلى الخصائص المطلوبة الأخيرة التي يشاهدها عامل IoT Edge. القيم المسموح بها: 200 نجاح، تكوين غير صالح، إصدار مخطط غير صالح، الخصائص المطلوبة فارغة، 417400412500 فشل |
| lastDesiredStatus.description | وصف نصي للحالة |
| runtime.platform.OS | الإبلاغ عن نظام التشغيل الذي يعمل على الجهاز |
| runtime.platform.architecture | الإبلاغ عن بنية وحدة المعالجة المركزية على الجهاز |
| systemModules.edgeAgent.runtimeStatus | الحالة المبلغ عنها من عامل IoT Edge: {"running" | "unhealthy"} |
| systemModules.edgeAgent.statusDescription | وصف نصي للحالة المبلغ عنها عامل IoT Edge. |
| systemModules.edgeHub.runtimeStatus | حالة مركز IoT Edge: { "running" | "stopped" | "failed" | "backoff" | "unhealthy" } |
| systemModules.edgeHub.statusDescription | وصف نصي لحالة مركز IoT Edge إذا كان غير سليم. |
| systemModules.edgeHub.exitCode | رمز الخروج الذي تم الإبلاغ عنه بواسطة حاوية موزع IoT Edge في حالة خروج الحاوية |
| systemModules.edgeHub.startTimeUtc | الوقت الذي بدأ فيه مركز IoT Edge آخر مرة |
| systemModules.edgeHub.lastExitTimeUtc | الوقت الذي تم فيه آخر خروج لمحور IoT Edge |
| systemModules.edgeHub.lastRestartTimeUtc | الوقت الذي تمت فيه إعادة تشغيل مركز IoT Edge آخر مرة |
| systemModules.edgeHub.restartCount | عدد المرات التي تمت فيها إعادة تشغيل هذه الوحدة النمطية كجزء من نهج إعادة التشغيل. |
| modules.{moduleId}.runtimeStatus | حالات الوحدة نمطية: { "running" | "stopped" | "failed" | "backoff" | "unhealthy" } |
| modules.{moduleId}.statusDescription | وصف نصي لحالة الوحدة النمطية إذا كانت غير صالحة. |
| modules.{moduleId}.exitCode | رمز الخروج الذي تم الإبلاغ عنه بواسطة حاوية الوحدة النمطية في حالة خروج الحاوية |
| modules.{moduleId}.startTimeUtc | الوقت الذي بدأت فيه الوحدة آخر مرة |
| modules.{moduleId}.lastExitTimeUtc | الوقت الذي خرجت فيه الوحدة النمطية آخر مرة |
| modules.{moduleId}.lastRestartTimeUtc | الوقت الذي تمت فيه إعادة تشغيل الوحدة النمطية آخر مرة |
| modules.{moduleId}.restartCount | عدد المرات التي تمت فيها إعادة تشغيل هذه الوحدة النمطية كجزء من نهج إعادة التشغيل. |
الخصائص المطلوبة لمركز الحافة
يتم استدعاء الوحدة النمطية المزدوجة لعامل IoT Edge$edgeHubوإحداثيات الاتصالات بين عامل IoT Edge الذي يشغل على الجهاز وIoT Hub. يتم تعيين الخصائص المطلوبة عند تطبيق بيان التوزيع على جهاز معين كجزء من توزيع جهاز واحد أو على نطاق توزيع واسع.
| الخاصية | الوصف | المطلوب في بيان التوزيع |
|---|---|---|
| schemaVersion | إما «1.0» أو «1.1». تم تقديم الإصدار 1.1 مع IoT Edge الإصدار 1.0.10 ، ويوصى به. | نعم |
| routes.{routeName} | سلسلة تمثل مسار مركز IoT Edge. لمزيد من المعلومات، راجع الإعلان عن المسارات. | routes يمكن أن يكون العنصر موجودا ولكنه فارغ. |
| storeAndForwardConfiguration.timeToLiveSecs | الوقت بالثواني التي يحتفظ بها مركز IoT Edge بالرسائل إذا تم قطع اتصالها بنقاط نهاية التوجيه، سواء كانت مركز IoT أو وحدة نمطية محلية. يمكن أن يكون ناتج القيمة أي عدد صحيح موجب. | نعم |
الخصائص مركز الحافة المبلغ عنها
| الخاصية | الوصف |
|---|---|
| lastDesiredVersion | يشير هذا العدد الصحيح إلى الإصدار الأخير من الخصائص المطلوبة معالجتها بواسطة مركز IoT Edge. |
| lastDesiredStatus.code | تعليمة برمجية الحالة يشير إلى آخر الخصائص المطلوبة التي يشاهدها مركز IoT Edge. القيم المسموح بها: 200 نجاح، تكوين غير صالح، 400500 فشل |
| lastDesiredStatus.description | الوصف النصي الخاص بالحالة. |
| clients.{device or moduleId}.status | حالة الاتصال الخاصة بهذا الجهاز أو الوحدة النمطية. Possible values {"connected" | "disconnected"}. يمكن أن تكون الهويات الخاصة بالوحدة النمطية فقط في حالة قطع الاتصال. تظهر أجهزة انتقال البيانات من الخادم المتلقين للمعلومات المتصل إلى مركز IoT Edge فقط عند الاتصال. |
| clients.{device or moduleId}.lastConnectTime | آخر وقت اتصل فيه الجهاز أو الوحدة النمطية. |
| clients.{device or moduleId}.lastDisconnectTime | آخر وقت تم قطع اتصال الجهاز أو الوحدة النمطية. |
الخطوات التالية
لمعرفة كيفية استخدام هذه الخصائص لإنشاء بيانات النشر، راجع فهم كيفية استخدام وحدات IoT Edge وتكوينها وإعادة استخدامها.