Omówienie rozszerzonych możliwości trybu offline dla urządzeń, modułów i urządzeń podrzędnych 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.

Usługa Azure IoT Edge obsługuje rozszerzone operacje offline na urządzeniach usługi IoT Edge i umożliwia również operacje offline na urządzeniach podrzędnych. Jeśli urządzenie usługi IoT Edge miało jedną okazję nawiązać połączenie z usługą IoT Hub, to urządzenie i wszystkie urządzenia podrzędne mogą nadal działać sporadycznie lub bez połączenia internetowego.

Jak to działa

Gdy urządzenie usługi IoT Edge przechodzi w tryb offline, centrum usługi IoT Edge przyjmuje trzy role:

  • Przechowuje wszystkie komunikaty, które miałyby zostać przesłane w górę strumienia, i zapisuje je do czasu ponownego nawiązania połączenia z urządzeniem.
  • Działa w imieniu usługi IoT Hub w celu uwierzytelnienia modułów i urządzeń podrzędnych, aby mogły nadal działać.
  • Umożliwia komunikację między urządzeniami podrzędnymi, które zwykle przechodzą przez usługę IoT Hub.

W poniższym przykładzie pokazano, jak scenariusz usługi IoT Edge działa w trybie offline:

  1. Konfigurowanie urządzeń

    Urządzenia usługi IoT Edge automatycznie mają włączone funkcje trybu offline. Aby rozszerzyć tę funkcję na inne urządzenia, należy skonfigurować urządzenia podrzędne, aby ufały przypisanemu urządzeniu nadrzędnego i kierować komunikację urządzenia do chmury za pośrednictwem elementu nadrzędnego jako bramy.

  2. Synchronizowanie z usługą IoT Hub

    Co najmniej raz po zainstalowaniu środowiska uruchomieniowego usługi IoT Edge urządzenie usługi IoT Edge musi być w trybie online w celu synchronizacji z usługą IoT Hub. W ramach tej synchronizacji urządzenie usługi IoT Edge pobiera szczegółowe informacje o wszystkich przypisanych do niej urządzeniach podrzędnych. Urządzenie usługi IoT Edge również bezpiecznie aktualizuje lokalną pamięć podręczną, aby włączyć operacje w trybie offline i pobiera ustawienia lokalnego magazynu komunikatów telemetrycznych.

  3. Przejdź do trybu offline

    Odłączone od usługi IoT Hub urządzenie usługi IoT Edge, wdrożone moduły i wszystkie urządzenia podrzędne mogą działać na czas nieokreślony. Moduły i urządzenia podrzędne mogą być uruchamiane i uruchamiane ponownie, uwierzytelniając się za pomocą centrum usługi IoT Edge w trybie offline. Dane telemetryczne powiązane z usługą IoT Hub są przechowywane lokalnie. Komunikacja między modułami lub między urządzeniami podrzędnymi jest utrzymywana za pośrednictwem metod bezpośrednich lub komunikatów.

  4. Ponowne łączenie i ponowna synchronizacja za pomocą usługi IoT Hub

    Po przywróceniu połączenia z usługą IoT Hub urządzenie usługi IoT Edge zostanie ponownie zsynchronizowane. Komunikaty przechowywane lokalnie są dostarczane do usługi IoT Hub od razu, ale zależą od szybkości połączenia, opóźnienia usługi IoT Hub i powiązanych czynników. Są one dostarczane w tej samej kolejności, w której były przechowywane.

    Wszelkie różnice między żądanymi i zgłoszonymi właściwościami modułów i urządzeń są uzgadniane. Urządzenie usługi IoT Edge aktualizuje wszelkie zmiany w zestawie przypisanych urządzeń podrzędnych.

Ograniczenia i limity

Urządzenia usługi IoT Edge i przypisane do nich urządzenia podrzędne mogą działać w trybie nieokreślonym po początkowej jednorazowej synchronizacji. Jednak przechowywanie komunikatów zależy od czasu wygaśnięcia (TTL) i dostępnego miejsca na dysku do przechowywania komunikatów.

Agent EdgeAgent urządzenia aktualizuje zgłaszane właściwości za każdym razem, gdy wystąpi zmiana stanu wdrożenia, taka jak nowe lub nieudane wdrożenie. Gdy urządzenie jest w trybie offline, agent EdgeAgent nie może zgłosić stanu w witrynie Azure Portal. W związku z tym stan urządzenia w witrynie Azure Portal może pozostać o wartości 200 OK, gdy urządzenie usługi IoT Edge nie ma łączności z Internetem.

Konfigurowanie urządzeń nadrzędnych i podrzędnych

Domyślnie urządzenie nadrzędne może mieć maksymalnie 100 elementów podrzędnych. Ten limit można zmienić, ustawiając zmienną środowiskową Max Połączenie edClients w module edgeHub. Urządzenie podrzędne ma tylko jeden element nadrzędny.

Uwaga

Urządzenie podrzędne emituje dane bezpośrednio do Internetu lub do urządzeń bramy (usługa IoT Edge jest włączona lub nie). Urządzenie podrzędne może być urządzeniem podrzędnym lub urządzeniem bramy w topologii zagnieżdżonej.

Urządzenia podrzędne mogą być dowolnym urządzeniem, usługą IoT Edge lub usługą inną niż IoT Edge zarejestrowaną w tym samym centrum IoT Hub.

Aby uzyskać więcej informacji na temat tworzenia relacji nadrzędny-podrzędny między urządzeniem usługi IoT Edge i urządzeniem IoT, zobacz Uwierzytelnianie urządzenia podrzędnego w usłudze Azure IoT Hub. W sekcjach dotyczących klucza symetrycznego, z podpisem własnym X.509 i X.509 z podpisem urzędu certyfikacji przedstawiono przykłady używania witryny Azure Portal i interfejsu wiersza polecenia platformy Azure do definiowania relacji nadrzędny-podrzędny podczas tworzenia urządzeń. W przypadku istniejących urządzeń można zadeklarować relację ze strony szczegółów urządzenia w witrynie Azure Portal urządzenia nadrzędnego lub podrzędnego.

Aby uzyskać więcej informacji na temat tworzenia relacji nadrzędny-podrzędny między dwoma urządzeniami usługi IoT Edge, zobacz Połączenie podrzędnego urządzenia usługi IoT Edge do bramy usługi Azure IoT Edge.

Konfigurowanie urządzenia nadrzędnego jako bramy

Relację elementu nadrzędnego/podrzędnego można traktować jako przezroczystą bramę, w której urządzenie podrzędne ma własną tożsamość w usłudze IoT Hub, ale komunikuje się za pośrednictwem chmury za pośrednictwem jej elementu nadrzędnego. Aby zapewnić bezpieczną komunikację, urządzenie podrzędne musi mieć możliwość sprawdzenia, czy urządzenie nadrzędne pochodzi z zaufanego źródła. W przeciwnym razie osoby trzecie mogą skonfigurować złośliwe urządzenia w celu personifikacji rodziców i przechwycenia komunikacji.

Jeden ze sposobów tworzenia tej relacji zaufania został szczegółowo opisany w następujących artykułach:

Określanie serwerów DNS

Aby zwiększyć niezawodność, zdecydowanie zaleca się określenie adresów serwerów DNS używanych w danym środowisku. Aby ustawić serwer DNS dla usługi IoT Edge, zobacz rozwiązanie modułu agenta usługi Edge zgłasza "pusty plik konfiguracji" i nie uruchamiaj modułów na urządzeniu w artykule dotyczącym rozwiązywania problemów.

Opcjonalne ustawienia trybu offline

Jeśli urządzenia przechodzą w tryb offline, urządzenie nadrzędne usługi IoT Edge przechowuje wszystkie komunikaty z urządzenia do chmury, dopóki połączenie nie zostanie ponownie nawiązane. Moduł centrum usługi IoT Edge zarządza magazynem i przekazywaniem komunikatów w trybie offline.

W przypadku urządzeń, które mogą przejść do trybu offline przez dłuższy czas, zoptymalizuj wydajność, konfigurując dwa ustawienia centrum usługi IoT Edge:

  • Zwiększ czas wygaśnięcia, aby centrum usługi IoT Edge utrzymywało komunikaty do momentu ponownego nawiązania połączenia z urządzeniem.
  • Dodaj dodatkowe miejsce na dysku dla magazynu komunikatów.

Time to live (Czas wygaśnięcia)

Ustawienie czasu wygaśnięcia to czas (w sekundach), przez który może zostać dostarczony komunikat, zanim wygaśnie. Wartość domyślna to 7200 sekund (dwie godziny). Wartość maksymalna jest ograniczona tylko przez maksymalną wartość zmiennej całkowitej, która wynosi około 2 miliardów.

To ustawienie jest żądaną właściwością centrum usługi IoT Edge, która jest przechowywana w bliźniaczej reprezentacji modułu. Można ją skonfigurować w witrynie Azure Portal lub bezpośrednio w manifeście wdrożenia.

"$edgeHub": {
    "properties.desired": {
        "schemaVersion": "1.1",
        "routes": {},
        "storeAndForwardConfiguration": {
            "timeToLiveSecs": 7200
        }
    }
}

Hostowanie magazynu dla modułów systemowych

Komunikaty i informacje o stanie modułu są domyślnie przechowywane w lokalnym systemie plików kontenera usługi IoT Edge. W celu zwiększenia niezawodności, zwłaszcza w przypadku pracy w trybie offline, można również dedykować magazyn na urządzeniu usługi IoT Edge hosta. Aby uzyskać więcej informacji, zobacz Przyznawanie modułom dostępu do magazynu lokalnego urządzenia.

Następne kroki

Dowiedz się więcej o sposobie konfigurowania przezroczystej bramy dla połączeń urządzeń nadrzędnych/podrzędnych: