Общие сведения о модулях Azure IoT Edge

Применимо к:IoT Edge 1.5 флажок IoT Edge 1.5

Внимание

IoT Edge 1.5 LTS — это поддерживаемый выпуск. IoT Edge 1.4 LTS достиг срока окончания службы 12 ноября 2024 года. Если вы используете более ранний выпуск, ознакомьтесь с Update IoT Edge.

Azure IoT Edge позволяет развертывать бизнес-логику на пограничных устройствах с помощью modules. модули Azure IoT Edge — это наименьшая единица вычислений, управляемых IoT Edge. Они могут содержать Azure службы, такие как Azure Stream Analytics, или собственный код для конкретного решения. Чтобы понять, как разрабатываются, развертываются и обслуживаются модули, мы рассмотрим четыре концептуальных элемента.

  • Образ модуля — это пакет с программным обеспечением для модуля.
  • Экземпляр модуля — это конкретная единица вычислений, выполняющая образ модуля на устройстве IoT Edge. Среда выполнения IoT Edge запускает экземпляр модуля.
  • Удостоверение модуля — это часть информации, включая учетные данные безопасности, которые IoT Hub хранит и связывает с каждым экземпляром модуля.
  • Документ двойника модуля в формате JSON, который хранится в IoT Hub и содержит информацию о состоянии экземпляра модуля, включая метаданные, конфигурации и условия.

Изображения и экземпляры модулей

Образы модулей IoT Edge содержат приложения, которые используют преимущества управления, безопасности и связи посредством среды выполнения IoT Edge. Вы можете разрабатывать собственные образы модулей или экспортировать их из поддерживаемой службы Azure, например Azure Stream Analytics. Вы управляете изображениями в облаке. Их можно обновлять, изменять и развертывать в различных решениях. Например, модуль, использующий машинное обучение для прогнозирования выходных данных производственной линии, является отдельным изображением модуля, использующего компьютерное зрение для управления дроном.

Каждый раз, когда среда выполнения IoT Edge развертывает и запускает образ модуля на устройстве, он создает новый экземпляр этого модуля. Два устройства в разных частях мира могут использовать один и тот же образ модуля. Однако каждое устройство имеет свой экземпляр модуля, когда модуль запускается на устройстве.

Диаграмма. Образы модулей в облаке — экземпляры модулей на устройствах

В реализации образы модулей существуют как образы контейнеров в репозитории, а экземпляры модулей — контейнеры на устройствах.

Идентичности модулей

Когда среда выполнения IoT Edge создает новый экземпляр модуля, он назначает соответствующее удостоверение модуля. IoT Hub хранит удостоверение модуля, которое служит областью адресации и безопасности для всех локальных и облачных коммуникаций для экземпляра модуля.

Удостоверение экземпляра модуля зависит от удостоверения устройства и имени, которое вы назначаете модулю в решении. Например, если вы назовете модуль insight и развернете его на устройстве с именем Hannover01, среда выполнения IoT Edge создает соответствующее удостоверение модуля с именем /devices/Hannover01/modules/insight.

В сценариях, где необходимо развернуть один образ модуля несколько раз на одном устройстве, его можно развернуть с различными именами.

Диаграмма. Идентификаторы модулей уникальны в рамках каждого устройства и на всех устройствах

Двойники модулей

У каждого экземпляра модуля есть соответствующий модульный близнец, с помощью которого его настраивают. Удостоверение модуля связывает экземпляр и двойник.

Двойник модуля представляет собой документ JSON, в котором собраны сведения о модуле и параметры его конфигурации. Эта концепция аналогична концепции device twin из IoT Hub. Структура двойника модуля совпадает со структурой двойника устройства. ИНТЕРФЕЙСы API для взаимодействия с обоими типами двойников одинаковы. Единственное различие между ними — идентификатор, который применяется для создания экземпляра клиентского пакета SDK.

// Create a ModuleClient object. This ModuleClient will act on behalf of a
// module since it is created with a module's connection string instead
// of a device connection string.
ModuleClient client = new ModuleClient.CreateFromEnvironmentAsync(settings);
await client.OpenAsync();

// Get the module twin
Twin twin = await client.GetTwinAsync();

Возможности в автономном режиме

Azure IoT Edge модули работают в автономном режиме неограниченное время после синхронизации с IoT Hub один раз. IoT Edge устройства также могут расширить эту автономную возможность на другие устройства Интернета вещей. Для получения дополнительной информации см. статью Понимание расширенных автономных возможностей для устройств IoT Edge, модулей и подчиненных устройств.

Следующие шаги