Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:
IoT Edge 1.5
Внимание
IoT Edge 1.5 LTS является поддерживаемым выпуском. IoT Edge 1.4 LTS заканчивается жизнью с 12 ноября 2024 года. Если вы используете более ранний выпуск, см. статью Обновление IoT Edge.
Агент IoT Edge и центр IoT Edge — это два модуля, которые составляют среду выполнения IoT Edge. Дополнительные сведения об обязанностях каждого модуля среды выполнения см. в статье о среде выполнения Azure IoT Edge и его архитектуре.
В этой статье представлены требуемые и отображаемые в отчете свойства двойников модулей для среды выполнения. Дополнительные сведения о развертывании модулей на устройствах IoT Edge см. в статье о том, как развертывать модули и устанавливать маршруты в IoT Edge.
Двойник модуля имеет следующие элементы:
Требуемые свойства. Серверная часть решения задает необходимые свойства, а модуль считывает их. Модуль также получает уведомления об изменениях в нужных свойствах. Требуемые свойства используются совместно с сообщаемыми свойствами для синхронизации конфигурации или условий модуля.
Сообщаемые свойства. Модуль задает сообщаемые свойства, а серверная часть решения считывает и запрашивает их. Передаваемые свойства в сочетании с требуемыми свойствами используются для синхронизации конфигурации или условий модуля.
Требуемые свойства EdgeAgent
Двойник модуля для агента IoT Edge называется $edgeAgent. Он координирует обмен данными между агентом IoT Edge, работающим на устройстве и Центре Интернета вещей. Требуемые свойства задаются при применении манифеста развертывания на конкретном устройстве в ходе развертывания на одно устройство или несколько.
| Свойство | Описание: | Обязательное поле |
|---|---|---|
| imagePullPolicy | Указывает, когда нужно извлечь изображение: OnCreate или Никогда. Используйте Never, если изображение уже находится на устройстве. | Да |
| политика перезапуска | Когда модуль должен быть перезапущен. Возможные значения: никогда: не перезапускайте модуль, если он не запущен, всегда перезапускать модуль, если не запущен, on-Неработоспособный: перезапустить модуль, если неработоспособен. Неработоспособным считается контейнер, если Docker сообщает о его некорректной работе на основе проверки работоспособности, например: "Неработоспособный - контейнер работает неправильно". On-Failed: перезапустить в случае сбоя. | Да |
| время выполнения.тип | Должен быть docker. | Да |
| runtime.settings.minDockerVersion | Указывает минимальную версию Docker, необходимую для этого манифеста развертывания. | Да |
| runtime.settings.loggingOptions | Задает строковый JSON с параметрами ведения журнала для контейнера агента IoT Edge. Дополнительные сведения о параметрах ведения журнала Docker. | нет |
| runtime.settings.registryCredentials. {registryId}.username | Указывает имя пользователя реестра контейнеров. Для Реестра контейнеров Azure именем пользователя обычно является имя реестра. Учетные данные реестра необходимы для образов частных модулей. | нет |
| runtime.settings.registryCredentials. {registryId}.password | Пароль для реестра контейнеров. | нет |
| runtime.settings.registryCredentials. {registryId}.address | Адрес для реестра контейнеров. Для Реестра контейнеров Azure адрес обычно имеет вид {имя реестра}.azurecr.io. | нет |
| schemaVersion | Указывает 1.0 или 1.1. Рекомендуется использовать версию 1.1.1, представленную в IoT Edge версии 1.0.10. | Да |
| статус | Требуемое состояние модуля: выполнение или остановка. | Обязательное поле |
| 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 | Идентификатор развертывания, которое развернуло этот модуль. | Центр Интернета вещей задает свойство при применении этого манифеста с помощью развертывания. Не является частью манифеста развертывания. |
| 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 Edge. Параметры создания Docker | нет |
| systemModules.edgeHub.configuration.id | Идентификатор развертывания, которое развернуло этот модуль. | Центр Интернета вещей задает свойство при применении этого манифеста с помощью развертывания. Не является частью манифеста развертывания. |
| modules.{ИД_модуля}.version | Определяемая пользователем строка, представляющая версию этого модуля. | Да |
| modules.{ИД_модуля}.type | Должен быть docker. | Да |
| modules.{Ид_модуля}.status | {запущено | остановлено} | Да |
| modules.{ИД_модуля}.restartPolicy | {никогда не | всегда} | Да |
| Модули.{moduleId}.порядокЗапуска | Целочисленное значение для расположения модуля в порядке запуска. Значение 0 — первое, а максимальное целое число (4294967295) — последнее. Если значение не указано, значение по умолчанию — максимальное целое число. | нет |
| Модули. {moduleId}.imagePullPolicy | {on-create | никогда} | нет |
| модули.{moduleId}.env | Список переменных среды для передачи в модуль. Принимает формат "<name>": {"value": "<value>"}. |
нет |
| modules.{ИД_модуля}.settings.image | Универсальный код ресурса (URI) для образа модуля. | Да |
| modules.{ИД_модуля}.settings.createOptions | Переведенные в строку JSON, содержащую параметры для создания контейнера модуля. Параметры создания Docker | нет |
| modules.{ИД_модуля}.configuration.id | Идентификатор развертывания, которое развернуло этот модуль. | Центр Интернета вещей задает свойство при применении этого манифеста с помощью развертывания. Не является частью манифеста развертывания. |
| версия | Текущая итерация с версией, фиксацией и сборкой. | нет |
Отображаемые в отчете свойства EdgeAgent
Сообщаемые свойства агента IoT Edge включают три основных фрагмента информации:
- Состояние применения последних установленных желаемых свойств
- Состояние модулей, работающих на устройстве, как сообщает агент IoT Edge, и
- Копия требуемых свойств, которые в настоящий момент работают на устройстве.
Копия текущих желательных свойств помогает определить, применило ли устройство последнее развертывание или по-прежнему работает с предыдущим манифестом развертывания.
Примечание.
Вы можете запросить сообщаемые свойства агента IoT Edge с помощью языка запросов IoT Hub, чтобы исследовать состояние развертывания в большом масштабе. Узнайте, как использовать свойства агента IoT Edge для статуса в разделе Понимание развертываний IoT Edge для отдельных устройств или в масштабе.
В следующей таблице не содержатся сведения, скопированные из требуемых свойств.
| Свойство | Описание: |
|---|---|
| ПоследнееЖелаемоеСостояние.код | Код состояния для последних требуемых свойств, видимых агентом IoT Edge. Допустимые значения: 200 success, Invalid configuration, 400412 Invalid schema version, 417 Desired properties are empty, 500 Failed. |
| описаниеПоследнегоЖелаемогоСтатуса | Текстовое описание состояния. |
| последняя желаемая версия | Это целое число относится к последней версии требуемых свойств, обрабатываемых агентом IoT Edge. |
| runtime.platform.OS | Сообщает ОС, запущенную на устройстве. |
| runtime.platform.architecture | Сообщает архитектуру ЦП на устройстве. |
| schemaVersion | Версия схемы сообщаемых свойств. |
| systemModules.edgeAgent.runtimeStatus | Сообщаемое состояние агента IoT Edge: {выполняющаяся | неработоспособная}. |
| ОписаниеСостоянияМодулейСистемы.edgeAgent | Текстовое описание сообщаемого состояния агента IoT Edge. |
| systemModules.edgeAgent.exitCode | Код выхода, сообщаемый контейнером агента IoT Edge, если контейнер завершает работу. |
| systemModules.edgeAgent.lastStartTimeUtc | Время последнего запуска агента IoT Edge. |
| systemModules.edgeAgent.lastExitTimeUtc | Время последнего выхода агента IoT Edge. |
| systemModules.edgeHub.runtimeStatus | Состояние центра IoT Edge: { выполнение | остановлено | отработки отказа неработоспособно | | }. |
| 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.{ИД_модуля}.runtimeStatus | Состояние модуля: { | }. |
| modules.{ИД_модуля}.statusDescription | Текстовое описание состояния модуля, если оно неработоспособно. |
| modules.{ИД_модуля}.exitCode | Код выхода, сообщаемый контейнером модуля, если контейнер завершает работу. |
| Модули. {moduleId}.lastStartTimeUtc | Время последнего запуска модуля. |
| modules.{ИД_модуля}.lastExitTimeUtc | Время последнего выхода модуля. |
| modules.{ИД_модуля}.lastRestartTimeUtc | Время последнего перезапуска модуля. |
| modules.{ИД_модуля}.restartCount | Количество раз, когда этот модуль был перезагружен в рамках политики перезапуска. |
| версия | Версия образа. Пример: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971ca0af0fc39d2c1f91aef21e95bd0c03c" }. |
Требуемые свойства EdgeHub
Двойник модуля центра IoT Edge называется $edgeHub. Он координирует взаимодействие между центром IoT Edge, выполняющимся на устройстве, и Центром Интернета вещей. Требуемые свойства задаются при применении манифеста развертывания на конкретном устройстве в ходе развертывания на одно устройство или несколько.
| Свойство | Описание: | Требуется в манифесте развертывания |
|---|---|---|
| schemaVersion | Либо 1.0, либо 1.1. Версия 1.1 появилась в IoT Edge версии 1.0.10, и сейчас является рекомендуемой. | Да |
| routes.{имя_маршрута} | Строка, представляющая маршрут центра IoT Edge. Дополнительные сведения см. в разделе Объявление маршрутов. | Элемент routes может присутствовать, но быть пустым. |
| storeAndForwardConfiguration.timeToLiveSecs | Время устройства в секундах, которое центр IoT Edge сохраняет сообщения, если они отключены от конечных точек маршрутизации, будь то Центр Интернета вещей или локальный модуль. На этот раз сохраняется при любых выключениях или перезапусках. Дополнительные сведения см. в статье Возможности автономной работы. | Да |
Отображаемые в отчете свойства EdgeHub
| Свойство | Описание: |
|---|---|
| последняя желаемая версия | Это целое число относится к последней версии требуемых свойств, обрабатываемых центром IoT Edge. |
| ПоследнееЖелаемоеСостояние.код | Это код состояния, ссылающийся на последние требуемые свойства, известные центру IoT Edge. Допустимые значения: 200 — успех, 400 — недопустимая конфигурация, 500 — сбой. |
| описаниеПоследнегоЖелаемогоСтатуса | Текстовое описание состояния. |
| клиенты | Все клиенты, подключенные к edgeHub, с состоянием и временем последнего подключения. Пример: "клиенты": { "device2/SimulatedTemperatureSensor": { "status": "Connected", "lastConnectedTimeUtc": "2022-11-17T21:49:16.4781564Z" } }. |
| clients.{идентификатор устройства или модуля}.status | Состояние подключения этого устройства или модуля. Возможные значения {подключено | отключено}. В отключенном состоянии могут находиться только удостоверения модуля. Подчиненные устройства, подключающиеся к центру IoT Edge, отображаются только при подключении. |
| clients.{идентификатор устройства или модуля}.lastConnectTime | Время последнего подключения модуля или устройства. |
| clients.{идентификатор устройства или модуля}.lastDisconnectTime | Время последнего отключения модуля или устройства. |
| schemaVersion | Версия схемы сообщаемых свойств. |
| версия | Версия образа. Пример: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971ca0af0fc39d2c1f91aef21e95bd0c03c" }. |
Следующие шаги
Сведения о том, как использовать эти свойства для создания манифестов развертывания, см. в статье Сведения об использовании, настройке и повторном использовании модулей Azure IoT Edge (предварительная версия).