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