Omówienie modułów usługi Azure IoT Edge

Dotyczy:IoT Edge 1.4 checkmark IoT Edge 1.4

Ważne

Azure IoT Edge1.4 jest obsługiwaną wersją. Jeśli korzystasz z wcześniejszej wersji, zobacz aktualizację Azure IoT Edge.

Usługa Azure IoT Edge umożliwia wdrażanie logiki biznesowej i zarządzanie nią na brzegu sieci w postaci modułów. Moduły usługi Azure IoT Edge to najmniejsza jednostka obliczeń zarządzana przez usługę IoT Edge i mogą zawierać usługi platformy Azure (takie jak Azure Stream Analytics) lub własny kod specyficzny dla rozwiązania. Aby zrozumieć, jak moduły są opracowywane, wdrażane i obsługiwane, należy wziąć pod uwagę cztery elementy koncepcyjne modułu:

  • Obraz modułu to pakiet zawierający oprogramowanie definiujące moduł.
  • Wystąpienie modułu to konkretna jednostka obliczeniowa, na którym jest uruchomiony obraz modułu na urządzeniu usługi IoT Edge. Wystąpienie modułu jest uruchamiane przez środowisko uruchomieniowe usługi IoT Edge.
  • Tożsamość modułu jest elementem informacji (w tym poświadczeń zabezpieczeń) przechowywanych w usłudze IoT Hub skojarzonym z każdym wystąpieniem modułu.
  • Bliźniacza reprezentacja modułu to dokument JSON przechowywany w usłudze IoT Hub zawierający informacje o stanie wystąpienia modułu, w tym metadane, konfiguracje i warunki.

Obrazy i wystąpienia modułów

Obrazy modułów usługi IoT Edge zawierają aplikacje korzystające z funkcji zarządzania, zabezpieczeń i komunikacji środowiska uruchomieniowego usługi IoT Edge. Możesz tworzyć własne obrazy modułów lub eksportować je z obsługiwanej usługi platformy Azure, takiej jak Azure Stream Analytics. Obrazy istnieją w chmurze i można je aktualizować, zmieniać i wdrażać w różnych rozwiązaniach. Na przykład moduł, który używa uczenia maszynowego do przewidywania danych wyjściowych linii produkcyjnej, istnieje jako oddzielny obraz niż moduł, który używa przetwarzania obrazów do kontrolowania drona.

Za każdym razem, gdy obraz modułu jest wdrażany na urządzeniu i uruchamiany przez środowisko uruchomieniowe usługi IoT Edge, tworzone jest nowe wystąpienie tego modułu. Dwa urządzenia w różnych częściach świata mogą używać tego samego obrazu modułu. Jednak każde urządzenie będzie miało własne wystąpienie modułu po uruchomieniu modułu na urządzeniu.

Diagram - Module images in cloud, module instances on devices

W implementacji obrazy modułów istnieją jako obrazy kontenerów w repozytorium, a wystąpienia modułów to kontenery na urządzeniach.

Tożsamości modułów

Po utworzeniu nowego wystąpienia modułu przez środowisko uruchomieniowe usługi IoT Edge otrzymuje odpowiednią tożsamość modułu. Tożsamość modułu jest przechowywana w usłudze IoT Hub i jest używana jako zakres adresowania i zabezpieczeń dla wszystkich komunikacji lokalnej i w chmurze dla tego wystąpienia modułu.

Tożsamość skojarzona z wystąpieniem modułu zależy od tożsamości urządzenia, na którym uruchomiono wystąpienie, oraz nazwy podanej dla tego modułu w rozwiązaniu. Jeśli na przykład wywołasz insight moduł korzystający z usługi Azure Stream Analytics i wdrożysz go na urządzeniu o nazwie Hannover01, środowisko uruchomieniowe usługi IoT Edge utworzy odpowiednią tożsamość modułu o nazwie /devices/Hannover01/modules/insight.

Oczywiście w scenariuszach, w których trzeba wielokrotnie wdrażać jeden obraz modułu na tym samym urządzeniu, można wdrożyć ten sam obraz wiele razy z różnymi nazwami.

Diagram - Module identities are unique within devices and across devices

Bliźniacze reprezentacje modułów

Każde wystąpienie modułu ma również odpowiednią reprezentację modułu, której można użyć do skonfigurowania wystąpienia modułu. Wystąpienie i reprezentacja bliźniacze są ze sobą skojarzone za pośrednictwem tożsamości modułu.

Bliźniacza reprezentacja modułu to dokument JSON, który przechowuje informacje o module i właściwości konfiguracji. Ta koncepcja jest równoległa do koncepcji bliźniaczej reprezentacji urządzenia z usługi IoT Hub. Struktura bliźniaczej reprezentacji modułu jest taka sama jak bliźniacze reprezentacja urządzenia. Interfejsy API używane do interakcji z obydwoma typami bliźniaczych reprezentacji są również takie same. Jedyną różnicą między nimi jest tożsamość używana do tworzenia wystąpienia zestawu SDK klienta.

// 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();

Możliwości w trybie offline

Moduły usługi Azure IoT Edge mogą działać w trybie offline przez czas nieokreślony po zsynchronizowaniu z usługą IoT Hub co najmniej raz. Urządzenia usługi IoT Edge mogą również rozszerzyć tę funkcję offline na inne urządzenia IoT. Aby uzyskać więcej informacji, zobacz Omówienie rozszerzonych możliwości trybu offline dla urządzeń, modułów i urządzeń podrzędnych usługi IoT Edge.

Następne kroki