Właściwości agenta usługi IoT Edge i bliźniaczych reprezentacji modułów usługi IoT Edge
Dotyczy: IoT Edge 1.5 IoT Edge 1.4
Ważne
Obsługiwane są wersje usługi IoT Edge 1.5 LTS i IoT Edge 1.4 LTS. Usługa IoT Edge 1.4 LTS kończy się 12 listopada 2024 r. 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 |
status | Żą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:
- Stan stosowania ostatnio widocznych żądanych właściwości;
- Stan modułów aktualnie uruchomionych na urządzeniu zgodnie z raportem agenta usługi IoT Edge; i
- 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": "Connected", "lastConnectedTimeUtc": "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}.lastConnectTime | 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.