Пограничные устройства Azure IoT: различия между желаемыми свойствами и переменными среды

У меня есть пограничное устройство Azure IoT. Это пограничное устройство имеет один модуль, имитирующий реальную машину. Я хотел бы настроить этот пограничный модуль (например, временной интервал моделирования, количество элементов для моделирования). Я мог бы использовать для этого либо желаемые свойства, либо переменные среды. Что имеет больше смысла? Каковы намерения и основные различия между желаемыми свойствами и переменными среды?

Я не вижу больших различий, так как:

  • Оба могут быть удобно обновлены на портале Azure.
  • Оба делают сообщаемые значения доступными.

Единственное отличие, которое я пока вижу, это то, что я могу подписаться на изменения желаемых свойств. Кажется, это невозможно для изменений переменных среды (однако тогда модуль перезапустится и прочитает новые переменные среды).

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
55
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Требуемые свойства представляют состояние вашего модуля и лучше подходят, чем переменные среды, по нескольким причинам.

  1. Изменение желаемых свойств запускает метод на устройстве без перезапуска модуля, что необходимо в случае переменной среды.
  2. В масштабе изменение желаемых свойств возможно через Jobs API, в то время как для переменных среды вам нужно будет создать дополнительную автоматизацию.
  3. Желаемые свойства являются частью двойника устройства, который синхронизируется на стороне облака, а переменные среды являются частью манифеста развертывания. Twin лучше подходит для представления состояния устройства, чем переменная среды.

Как объяснялось выше, свойства желания являются частью вашего устройства или модуля Digital Twin. Цифровой двойник хранится в Центре Интернета вещей (в реестре устройств) и используется для синхронизации состояния ваших устройств с серверными [облачными] службами.

Преимущество использования двойника устройства для хранения состояния вашего устройства заключается в том, что его можно изменить с серверной стороны, изменив device desired properties, и ваше устройство получит desired property change, а затем ваше устройство может использовать device reported properties, чтобы сообщить, что изменение запроса было принято (и выполнено любое действие, которое должно выполняться на устройстве). Это позволяет синхронизировать устройство и серверную часть.

Подробную информацию о двойнике устройства, а также о желаемых и сообщаемых свойствах см. на странице https://learn.microsoft.com/azure/iot-hub/iot-hub-devguide-device-twins

Другие вопросы по теме

Похожие вопросы

Azure SDK Iot HUB DeviceClient пытается повторно подключиться каждые 10 минут, MQTT, без тайм-аута операции, всегда пытаться в фоновом режиме без RETRY_EXPIRED
Можно ли запустить Node-Red в докере на виртуальной машине EFLOW (Azure IoT Edge на устройстве Windows)?
«RequestsDependencyWarning: urllib3 (1.26.12) или chardet (3.0.4) не соответствует поддерживаемой версии!» в Azure DevOps — задача Azure IoT Edge — сборка
Какое значение мы должны указать для атрибута «Устройства» при расчете цен на Azure Stream Analytics
Функции Azure для Azure IoT Edge. Какие языки поддерживаются?
Прямое подключение к Azure IoT Edge через MQTT в качестве прозрачного шлюза к Azure IoT Central
Ошибка при использовании .so: «неправильный класс ELF: ELFCLASS64» на 32-битной машине
Как лучше всего запустить длительные методы в модулях Azure IoTEdge?
Могу ли я запустить любой контейнер Docker в Microsoft Iot Edge?
Конфигурация развертывания в желаемых свойствах пограничного агента пуста