خصائص عامل IoT Edge وتوائم وحدة مركز IoT Edge

ينطبق على:IoT Edge 1.4 علامة اختيار IoT Edge 1.4

عامل 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 تعيين إلى الحد الأدنى لإصدار Docker المطلوب بواسطة بيان التوزيع هذا نعم
خيارات إعدادات تسجيل الدخول في وقت التشغيل JSON مشدد يحتوي على خيارات التسجيل ل حاوية عامل IoT Edge. خيارات تسجيل Docker لا
runtime.settings.registryCredentials. {registryId}.username اسم المستخدم لسجل الحاوية. بالنسبة لـAzure Container Registry، يكون اسم المستخدم عادة هو اسم التسجيل.

بيانات اعتماد السجل ضرورية لأي صور وحدة نمطية خاصة.
لا
runtime.settings.registryCredentials. {registryId}.password رمز الوصول الخاص بتسجيل الحاوية. لا
runtime.settings.registryCredentials. {registryId}.address عنوان التسجيل الخاص بالحاوية. بالنسبة إلى Azure Container Registry، يكون العنوان عادة {registry name}.azurecr.io. لا
systemModules.edgeAgent.type يجب أن يكون "docker" نعم
systemModules.edgeAgent.startupOrder القيمة الخاصة بعدد صحيح تحتوي على موضع في الوحدة النمطية بترتيب بدء التشغيل. 0 هو الأول وأقصى عدد صحيح (4294967295) هو الأحدث. في حالة لم يتم توفير القيمة، يكون العدد الصحيح الأقصى هو الحد الأقصى. لا
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 يجب أن يكون "docker" نعم
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 يجب أن يكون "docker" نعم
modules.{moduleId}.status {"running" | "stopped"} نعم
modules.{moduleId}.restartPolicy {"أبدا" | "دائما"} نعم
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 المبلغ عنه ثلاث قطع رئيسية من المعلومات:

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

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

ملاحظة

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

لا يحتوي الجدول التالي المعلومات التي يتم نسخها من الخصائص المطلوبة.

الخاصية الوصف
lastDesiredVersion يشير هذا العدد الصحيح إلى الإصدار الأخير من الخصائص المطلوبة معالجتها بواسطة عامل IoT Edge.
lastDesiredStatus.code يشير تعليمة برمجية الحالة هذا إلى الخصائص المطلوبة الأخيرة التي يشاهدها عامل IoT Edge. القيم المسموح بها: 200 نجاح، 400 تكوين غير صالح، 412 إصدار مخطط غير صالح، 417 الخصائص المطلوبة فارغة، 500 فاشلة
lastDesiredStatus.description وصف نصي للحالة
runtime.platform.OS الإبلاغ عن نظام التشغيل الذي يعمل على الجهاز
runtime.platform.architecture الإبلاغ عن بنية وحدة المعالجة المركزية على الجهاز
systemModules.edgeAgent.runtimeStatus الحالة المبلغ عنها من عامل IoT Edge: {"running" | "unhealthy"}
systemModules.edgeAgent.statusDescription وصف نصي للحالة المبلغ عنها عامل IoT Edge.
systemModules.edgeAgent.exitCode التعليمة البرمجية للخروج التي تم الإبلاغ عنها بواسطة حاوية عامل IoT Edge إذا خرجت الحاوية
systemModules.edgeAgent.lastStartTimeUtc الوقت الذي تم فيه بدء تشغيل عامل IoT Edge آخر مرة
systemModules.edgeAgent.lastExitTimeUtc الوقت الذي تم فيه إنهاء عامل IoT Edge آخر مرة
systemModules.edgeHub.runtimeStatus حالة مركز IoT Edge: { "running" | "stopped" | "failed" | "backoff" | "unhealthy" }
systemModules.edgeHub.statusDescription وصف نصي لحالة مركز IoT Edge إذا كان غير سليم.
systemModules.edgeHub.exitCode التعليمة البرمجية للخروج التي تم الإبلاغ عنها بواسطة حاوية مركز IoT Edge إذا خرجت الحاوية
systemModules.edgeHub.lastStartTimeUtc الوقت الذي تم فيه بدء تشغيل مركز 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 التعليمة البرمجية للخروج التي تم الإبلاغ عنها بواسطة حاوية الوحدة النمطية إذا تم إنهاء الحاوية
وحدات. {moduleId}.lastStartTimeUtc الوقت الذي تم فيه بدء الوحدة النمطية آخر مرة
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 Hub أو وحدة نمطية محلية. يستمر هذا الوقت على أي إيقاف تشغيل أو إعادة تشغيل. لمزيد من المعلومات، راجع الإمكانات غير المتصلة. نعم

الخصائص مركز الحافة المبلغ عنها

الخاصية الوصف
lastDesiredVersion يشير هذا العدد الصحيح إلى الإصدار الأخير من الخصائص المطلوبة معالجتها بواسطة مركز IoT Edge.
lastDesiredStatus.code تعليمة برمجية الحالة يشير إلى آخر الخصائص المطلوبة التي يشاهدها مركز IoT Edge. القيم المسموح بها: 200 نجاح، 400 تكوين غير صالح، 500 فشل
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 وتكوينها وإعادة استخدامها.