Właściwości agenta usługi IoT Edge i bliźniaczych reprezentacji modułów usługi 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.

Agent usługi IoT Edge i centrum usługi IoT Edge to dwa moduły tworzące środowisko uruchomieniowe usługi IoT Edge. Aby uzyskać więcej informacji na temat obowiązków każdego modułu środowiska uruchomieniowego, zobacz Omówienie środowiska uruchomieniowego usługi Azure IoT Edge i jego architektury.

Ten artykuł zawiera żądane właściwości i zgłoszone właściwości bliźniaczych reprezentacji modułu środowiska uruchomieniowego. Aby uzyskać więcej informacji na temat wdrażania modułów na urządzeniach usługi IoT Edge, zobacz Dowiedz się, jak wdrażać moduły i ustanawiać trasy w usłudze IoT Edge.

Bliźniacze reprezentacje modułu obejmują:

  • Żądane właściwości. Zaplecze rozwiązania może ustawić żądane właściwości, a moduł może je odczytać. Moduł może również otrzymywać powiadomienia o zmianach we żądanych właściwościach. Żądane właściwości są używane wraz z zgłaszanymi właściwościami do synchronizowania konfiguracji lub warunków modułu.

  • Zgłoszone właściwości. Moduł może ustawić zgłaszane właściwości, a zaplecze rozwiązania może je odczytywać i wykonywać względem nich zapytania. Zgłoszone właściwości są używane wraz z żądanymi właściwościami do synchronizowania konfiguracji lub warunków modułu.

Żądane właściwości elementu EdgeAgent

Bliźniacze reprezentacje modułu dla agenta usługi IoT Edge są wywoływane $edgeAgent i koordynują komunikację między agentem usługi IoT Edge uruchomionym na urządzeniu i w usłudze IoT Hub. Żądane właściwości są ustawiane podczas stosowania manifestu wdrożenia na określonym urządzeniu w ramach wdrożenia pojedynczego urządzenia lub na dużą skalę.

Właściwości Opis Wymagania
imagePullPolicy Kiedy ściągnąć obraz w elemecie OnCreate lub Never (Nigdy nie można użyć, jeśli obraz jest już na urządzeniu) Tak
restartPolicy Po ponownym uruchomieniu modułu. Możliwe wartości to: Nigdy: nie uruchamiaj ponownie modułu, jeśli nie jest uruchomiony, Zawsze: zawsze uruchamiaj ponownie moduł, jeśli nie jest uruchomiony, w złej kondycji: uruchom ponownie moduł, jeśli jest w złej kondycji. W złej kondycji są raporty platformy Docker na podstawie kontroli kondycji, na przykład "W złej kondycji — kontener nie działa poprawnie", "On-Failed: restart if Failed" (Niepowodzenie: ponowne uruchomienie w przypadku niepowodzenia). Tak
runtime.type Musi być docker. Tak
runtime.settings.minDockerVersion Ustaw minimalną wersję platformy Docker wymaganą przez ten manifest wdrożenia. Tak
runtime.settings.loggingOptions Ciągyfikowany kod JSON zawierający opcje rejestrowania dla kontenera agenta usługi IoT Edge. Opcje rejestrowania platformy Docker Nie.
runtime.settings.registryCredentials. {registryId}.username Nazwa użytkownika rejestru kontenerów. W przypadku usługi Azure Container Registry nazwa użytkownika jest zwykle nazwą rejestru. Poświadczenia rejestru są niezbędne dla wszystkich obrazów modułów prywatnych. Nie.
runtime.settings.registryCredentials. {registryId}.password Hasło rejestru kontenerów. Nie.
runtime.settings.registryCredentials. {registryId}.address Adres rejestru kontenerów. W przypadku usługi Azure Container Registry adres jest zwykle {nazwa rejestru}.azurecr.io. Nie.
schemaVersion 1.0 lub 1.1. Wersja 1.1 została wprowadzona w usłudze IoT Edge w wersji 1.0.10 i jest zalecana. Tak
stan Żądany stan modułu: Uruchomiono lub Zatrzymano. Wymagania
systemModules.edgeAgent.type Musi być docker. Tak
systemModules.edgeAgent.startupOrder Wartość całkowita dla lokalizacji modułu w kolejności uruchamiania. Wartość 0 to pierwsza, a maksymalna liczba całkowita (4294967295) jest ostatnia. Jeśli wartość nie jest podana, wartość domyślna to maksymalna liczba całkowita. Nie.
systemModules.edgeAgent.settings.image Identyfikator URI obrazu agenta usługi IoT Edge. Obecnie agent usługi IoT Edge nie może zaktualizować się. Tak
systemModules.edgeAgent.settings.createOptions Ciągowany kod JSON zawierający opcje tworzenia kontenera agenta usługi IoT Edge. Opcje tworzenia platformy Docker Nie.
systemModules.edgeAgent.configuration.id Identyfikator wdrożenia wdrożonego w tym module. Usługa IoT Hub ustawia tę właściwość po zastosowaniu manifestu przy użyciu wdrożenia. Nie jest częścią manifestu wdrożenia.
systemModules.edgeHub.type Musi być docker. Tak
systemModules.edgeHub.status Musi być uruchomiony. Tak
systemModules.edgeHub.restartPolicy Musi być zawsze. Tak
systemModules.edgeHub.startupOrder Wartość całkowita, dla której moduł typu spot ma wartość w kolejności uruchamiania. Wartość 0 to pierwsza, a maksymalna liczba całkowita (4294967295) jest ostatnia. Jeśli wartość nie jest podana, wartość domyślna to maksymalna liczba całkowita. Nie.
systemModules.edgeHub.settings.image Identyfikator URI obrazu centrum usługi IoT Edge. Tak
systemModules.edgeHub.settings.createOptions Ciągyfikowany kod JSON zawierający opcje tworzenia kontenera centrum usługi IoT Edge. Opcje tworzenia platformy Docker Nie.
systemModules.edgeHub.configuration.id Identyfikator wdrożenia wdrożonego w tym module. Usługa IoT Hub ustawia tę właściwość po zastosowaniu manifestu przy użyciu wdrożenia. Nie jest częścią manifestu wdrożenia.
Moduły. {moduleId}.version Ciąg zdefiniowany przez użytkownika reprezentujący wersję tego modułu. Tak
Moduły. {moduleId}.type Musi być docker. Tak
Moduły. {moduleId}.status {uruchomiono | zatrzymane} Tak
Moduły. {moduleId}.restartPolicy {nigdy nie | zawsze} Tak
Moduły. {moduleId}.startupOrder Wartość całkowita dla lokalizacji modułu w kolejności uruchamiania. Wartość 0 to pierwsza, a maksymalna liczba całkowita (4294967295) jest ostatnia. Jeśli wartość nie jest podana, wartość domyślna to maksymalna liczba całkowita. Nie.
Moduły. {moduleId}.imagePullPolicy {on-create | never} Nie.
Moduły. {moduleId}.env Lista zmiennych środowiskowych do przekazania do modułu. Przyjmuje format "<name>": {"value": "<value>"}. Nie.
Moduły. {moduleId}.settings.image Identyfikator URI obrazu modułu. Tak
Moduły. {moduleId}.settings.createOptions Ciągowany kod JSON zawierający opcje tworzenia kontenera modułów. Opcje tworzenia platformy Docker Nie.
Moduły. {moduleId}.configuration.id Identyfikator wdrożenia wdrożonego w tym module. Usługa IoT Hub ustawia tę właściwość po zastosowaniu manifestu przy użyciu wdrożenia. Nie jest częścią manifestu wdrożenia.
version Bieżąca iteracja zawierająca wersję, zatwierdzenie i kompilację. Nie.

Zgłoszone właściwości elementu EdgeAgent

Zgłoszone właściwości agenta usługi IoT Edge obejmują trzy główne informacje:

  1. Stan stosowania ostatnio widocznych żądanych właściwości;
  2. Stan modułów aktualnie uruchomionych na urządzeniu zgodnie z raportem agenta usługi IoT Edge; I
  3. Kopia żądanych właściwości aktualnie uruchomionych na urządzeniu.

Kopia bieżących żądanych właściwości jest przydatna do ustalenia, czy urządzenie zastosowało najnowsze wdrożenie, czy nadal uruchamia poprzedni manifest wdrożenia.

Uwaga

Zgłoszone właściwości agenta usługi IoT Edge są przydatne, ponieważ można wykonywać zapytania względem języka zapytań usługi IoT Hub w celu zbadania stanu wdrożeń na dużą skalę. Aby uzyskać więcej informacji na temat używania właściwości agenta usługi IoT Edge do stanu, zobacz Omówienie wdrożeń usługi IoT Edge dla pojedynczych urządzeń lub na dużą skalę.

Poniższa tabela nie zawiera informacji skopiowanych z żądanych właściwości.

Właściwości opis
lastDesiredStatus.code Ten kod stanu odnosi się do ostatnich żądanych właściwości widocznych przez agenta usługi IoT Edge. Dozwolone wartości: 200 Powodzenie, 400 Nieprawidłowa konfiguracja, 412 Nieprawidłowa wersja schematu, 417 Żądane właściwości są puste, 500 Niepowodzenie.
lastDesiredStatus.description Opis tekstu stanu.
lastDesiredVersion Ta liczba całkowita odnosi się do ostatniej wersji żądanych właściwości przetworzonych przez agenta usługi IoT Edge.
runtime.platform.OS Raportowanie systemu operacyjnego uruchomionego na urządzeniu.
runtime.platform.architecture Raportowanie architektury procesora CPU na urządzeniu.
schemaVersion Wersja schematu zgłaszanych właściwości.
systemModules.edgeAgent.runtimeStatus Zgłoszony stan agenta usługi IoT Edge: {uruchomiona | w złej kondycji}.
systemModules.edgeAgent.statusDescription Opis tekstowy zgłoszonego stanu agenta usługi IoT Edge.
systemModules.edgeAgent.exitCode Kod zakończenia zgłoszony przez kontener agenta usługi IoT Edge, jeśli kontener zakończy działanie.
systemModules.edgeAgent.lastStartTimeUtc Czas ostatniego uruchomienia agenta usługi IoT Edge.
systemModules.edgeAgent.lastExitTimeUtc Czas ostatniego zamknięcia agenta usługi IoT Edge.
systemModules.edgeHub.runtimeStatus Stan centrum usługi IoT Edge: { uruchomione | zatrzymano | niepowodzenie wycofywania w | złej kondycji | }.
systemModules.edgeHub.statusDescription Opis tekstowy stanu centrum usługi IoT Edge, jeśli jest w złej kondycji.
systemModules.edgeHub.exitCode Kod zakończenia zgłoszony przez kontener centrum usługi IoT Edge, jeśli kontener zakończy działanie.
systemModules.edgeHub.lastStartTimeUtc Godzina ostatniego uruchomienia centrum usługi IoT Edge.
systemModules.edgeHub.lastExitTimeUtc Czas ostatniego zamknięcia centrum usługi IoT Edge.
systemModules.edgeHub.lastRestartTimeUtc Czas ostatniego ponownego uruchomienia centrum usługi IoT Edge.
systemModules.edgeHub.restartCount Liczba ponownych uruchomień tego modułu w ramach zasad ponownego uruchamiania.
Moduły. {moduleId}.runtimeStatus Stan modułu: { uruchomione | zatrzymano | | niepowodzenie wycofywania w złej kondycji | }.
Moduły. {moduleId}.statusDescription Opis tekstowy stanu modułu, jeśli jest w złej kondycji.
Moduły. {moduleId}.exitCode Kod zakończenia zgłoszony przez kontener modułu, jeśli kontener zakończy działanie.
Moduły. {moduleId}.lastStartTimeUtc Godzina ostatniego uruchomienia modułu.
Moduły. {moduleId}.lastExitTimeUtc Godzina ostatniego zakończenia modułu.
Moduły. {moduleId}.lastRestartTimeUtc Czas ostatniego ponownego uruchomienia modułu.
Moduły. {moduleId}.restartCount Liczba ponownych uruchomień tego modułu w ramach zasad ponownego uruchamiania.
version Wersja obrazu. Przykład: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }.

Żądane właściwości usługi EdgeHub

Bliźniacze reprezentacje modułu dla centrum usługi IoT Edge są wywoływane $edgeHub i koordynują komunikację między centrum usługi IoT Edge uruchomionym na urządzeniu i usłudze IoT Hub. Żądane właściwości są ustawiane podczas stosowania manifestu wdrożenia na określonym urządzeniu w ramach wdrożenia pojedynczego urządzenia lub na dużą skalę.

Właściwości opis Wymagane w manifeście wdrożenia
schemaVersion 1.0 lub 1.1. Wersja 1.1 została wprowadzona w usłudze IoT Edge w wersji 1.0.10 i jest zalecana. Tak
Trasy. {routeName} Ciąg reprezentujący trasę centrum usługi IoT Edge. Aby uzyskać więcej informacji, zobacz Deklarowanie tras. Element routes może być obecny, ale pusty.
storeAndForwardConfiguration.timeToLiveSecs Czas urządzenia w sekundach, przez który centrum usługi IoT Edge przechowuje komunikaty w przypadku odłączenia od punktów końcowych routingu, niezależnie od tego, czy usługa IoT Hub, czy moduł lokalny. Ten czas utrzymuje się po każdym wyłączeniu zasilania lub ponownym uruchomieniu. Aby uzyskać więcej informacji, zobacz Możliwości trybu offline. Tak

Zgłoszone właściwości w usłudze EdgeHub

Właściwości opis
lastDesiredVersion Ta liczba całkowita odnosi się do ostatniej wersji żądanych właściwości przetworzonych przez centrum usługi IoT Edge.
lastDesiredStatus.code Kod stanu odwołujący się do ostatnich żądanych właściwości widocznych przez centrum usługi IoT Edge. Dozwolone wartości: 200 Powodzenie, 400 Nieprawidłowa konfiguracja, 500 Niepowodzenie
lastDesiredStatus.description Opis tekstu stanu.
Klientów Wszyscy klienci połączeni z usługą edgeHub ze stanem i ostatnim połączonym czasem. Przykład: "clients": { "device2/SimulatedTemperatureSensor": { "status": "Połączenie ed", "last Połączenie edTimeUtc": "2022-11-17T21:49:16.4781564Z" } }.
Klientów. {device or moduleId}.status Stan łączności tego urządzenia lub modułu. Możliwe wartości {connected | disconnected}. Tylko tożsamości modułów mogą być w stanie rozłączenia. Urządzenia podrzędne łączące się z centrum usługi IoT Edge są wyświetlane tylko w przypadku połączenia.
Klientów. {device or moduleId}.last Połączenie Time Czas ostatniego połączenia urządzenia lub modułu.
Klientów. {device or moduleId}.lastDisconnectTime Czas ostatniego rozłączenia urządzenia lub modułu.
schemaVersion Wersja schematu zgłaszanych właściwości.
version Wersja obrazu. Przykład: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }.

Następne kroki

Aby dowiedzieć się, jak używać tych właściwości do kompilowania manifestów wdrażania, zobacz Opis sposobu używania, konfigurowania i ponownego używania modułów usługi IoT Edge.