Migrowanie urządzeń do usługi Azure IoT Hub
Jeśli zdecydujesz się na migrację z rozwiązania opartego na usłudze IoT Central do rozwiązania opartego na usłudze IoT Hub, musisz zmienić konfigurację wszystkich urządzeń aktualnie połączonych z aplikacją. Narzędzie IoTC Migrator automatyzuje ten proces migracji urządzeń.
Narzędzie do migracji:
- Tworzy rejestracje urządzeń w centrum IoT dla urządzeń, które obecnie łączą się z aplikacją usługi IoT Central.
- Używa polecenia do wysyłania zakresu identyfikatorów wystąpienia usługi Device Provisioning Service (DPS) skojarzonego z centrum IoT Hub do urządzeń.
Narzędzie wymaga, aby połączone urządzenia zaimplementowały polecenie DeviceMove zdefiniowane w szablonie urządzenia w aplikacji usługi IoT Central. Ładunek polecenia to zakres identyfikatora docelowego wystąpienia usługi DPS. Gdy urządzenie otrzyma to polecenie, powinno:
- Przestań wysyłać dane telemetryczne i rozłączać się z aplikacją usługi IoT Central.
- Aprowizuj się z usługą DPS przy użyciu nowego zakresu identyfikatorów w ładunku polecenia.
- Użyj wyniku aprowizacji, aby nawiązać połączenie z docelowym centrum IoT i ponownie rozpocząć wysyłanie danych telemetrycznych.
Napiwek
Możesz również użyć narzędzia do migracji urządzeń między aplikacjami IoT Cental lub z centrum IoT do aplikacji usługi IoT Central.
Minimalizowanie zakłóceń
Aby zminimalizować zakłócenia, można migrować urządzenia w fazach. Narzędzie migracji używa grup urządzeń do przenoszenia urządzeń z usługi IoT Central do centrum IoT Hub. Podziel flotę urządzeń na grupy urządzeń, takie jak urządzenia w Teksasie, urządzenia w Nowym Jorku i urządzenia w pozostałych stanach Zjednoczonych. Następnie zmigruj niezależnie każdą grupę urządzeń.
Ostrzeżenie
Nie można dodać nieprzypisanych urządzeń do grupy urządzeń. W związku z tym nie można obecnie używać narzędzia do migracji nieprzypisanych urządzeń.
Zminimalizuj wpływ biznesowy, wykonując następujące kroki:
Utwórz rozwiązanie PaaS i uruchom je równolegle z aplikacją usługi IoT Central.
Skonfiguruj eksport danych ciągłych w aplikacji usługi IoT Central i odpowiednie trasy do centrum IoT rozwiązania PaaS. Przekształć zarówno kanały danych, jak i zapisać je w tym samym magazynie data lake.
Migrowanie urządzeń w fazach i weryfikowanie ich w każdej fazie. Jeśli coś nie pójdzie zgodnie z planem, nie powiedzie się urządzeniom z powrotem do usługi IoT Central.
Po przeprowadzeniu migracji wszystkich urządzeń do rozwiązania PaaS i w pełni wyeksportowaniu danych z usługi IoT Central można usunąć urządzenia z rozwiązania usługi IoT Central.
Po migracji urządzenia nie są automatycznie usuwane z aplikacji usługi IoT Central. Opłaty za te urządzenia będą nadal naliczane jako opłaty za usługę IoT Central dla wszystkich aprowizowanych urządzeń w aplikacji. Po usunięciu tych urządzeń z aplikacji usługi IoT Central nie są już naliczane opłaty. W końcu usuń aplikację usługi IoT Central.
Przenoszenie istniejących danych z usługi IoT Central
Usługę IoT Central można skonfigurować do ciągłego eksportowania danych telemetrycznych i wartości właściwości. Miejsca docelowe eksportu to magazyny danych, takie jak Azure Data Lake, Event Hubs i Webhooks. Szablony urządzeń można wyeksportować przy użyciu interfejsu użytkownika usługi IoT Central lub interfejsu API REST. Interfejs API REST umożliwia eksportowanie użytkowników w aplikacji usługi IoT Central.
Wymagania wstępne
Do wykonania kroków migracji urządzeń potrzebne są następujące wymagania wstępne:
- Źródłowa aplikacja usługi IoT Central, na której obecnie łączą się urządzenia.
- Docelowe centrum IoT, do którego chcesz przenieść urządzenia. To centrum IoT musi być połączone z wystąpieniem usługi DPS.
- node.js i narzędzie npm zainstalowane na komputerze lokalnym, na którym jest uruchamiane narzędzie migracji.
Wymagania dotyczące urządzenia
Urządzenia, które chcesz przeprowadzić migrację , muszą zaimplementować polecenie DeviceMove w składniku o nazwie migration. Ładunek polecenia zawiera zakres identyfikatora docelowego wystąpienia usługi DPS. Repozytorium narzędzi migracji zawiera przykładowy model składników DTDL, który definiuje polecenie DeviceMove . Ten składnik można dodać do istniejących szablonów urządzeń.
Narzędzie zakłada, że nazwa składnika to migration
i że identyfikator interfejsu to dtmi:azureiot:DeviceMigration;1
:
Repozytorium narzędzi zawiera również przykładowy kod , który pokazuje, jak urządzenie powinno zaimplementować polecenie DeviceMove .
Konfiguracja narzędzia
Wykonaj następujące zadania konfiguracyjne, aby przygotować się do migracji:
Aplikacja Microsoft Entra
Narzędzie migracji wymaga rejestracji aplikacji Firmy Microsoft Entra, aby umożliwić jej uwierzytelnianie w ramach subskrypcji platformy Azure:
Przejdź do witryny Azure Portal > Rejestracje aplikacji identyfikatora > entra firmy Microsoft.
Wybierz Nowa rejestracja.
Wprowadź nazwę, taką jak "Aplikacja IoTC Migrator".
Wybierz pozycję Konta w dowolnym katalogu organizacyjnym (dowolny katalog Microsoft Entra — multitenant) i osobiste konta Microsoft (np. Skype, Xbox).
Wybierz pozycję Aplikacja jednostronicowa (SPA).
Wprowadź
http://localhost:3000
jako identyfikator URI przekierowania. Ta wartość zostanie dodana do konfiguracji aplikacji migracji później.Wybierz pozycję Zarejestruj.
Zanotuj wartości Identyfikator aplikacji (klienta) i Identyfikator katalogu (dzierżawy). Te wartości będą później używane do konfigurowania aplikacji migracji:
Przejdź do strony Manifest w rejestracji i zastąp zawartość
requiredResourceAccess
pliku następującą konfiguracją:[ { "resourceAppId": "9edfcdd9-0bc5-4bd4-b287-c3afc716aac7", "resourceAccess": [ { "id": "73792908-5709-46da-9a68-098589599db6", "type": "Scope" } ] }, { "resourceAppId": "797f4846-ba00-4fd7-ba43-dac1f8f63013", "resourceAccess": [ { "id": "41094075-9dad-400e-a0bd-54e686782033", "type": "Scope" } ] }, { "resourceAppId": "00000003-0000-0000-c000-000000000000", "resourceAccess": [ { "id": "e1fe6dd8-ba31-4d61-89e7-88639da4683d", "type": "Scope" } ] } ]
Zapisz zmiany.
Dodawanie kluczy urządzeń do usługi DPS
Dodaj klucze sygnatury dostępu współdzielonego lub certyfikaty X.509 z aplikacji usługi IoT Central do grupy alokacji usługi DPS.
Jeśli urządzenia używają sygnatur dostępu współdzielonego do uwierzytelniania w aplikacji usługi IoT Central:
- W aplikacji usługi IoT Central przejdź do pozycji Uprawnienia > Grupy połączeń urządzeń.
- Wybierz grupę rejestracji, z których korzystają urządzenia.
- Zanotuj klucze podstawowe i pomocnicze.
- W witrynie Azure Portal przejdź do wystąpienia usługi DPS.
- Wybierz pozycję Zarządzanie rejestracjami.
- Utwórz nową rejestrację i ustaw typ zaświadczania na Klucz symetryczny, usuń zaznaczenie opcji Automatycznie generuj klucze, a następnie dodaj klucze podstawowe i pomocnicze zanotuj.
- Wybierz pozycję Zapisz.
Jeśli urządzenia używają certyfikatów X.509 do uwierzytelniania w aplikacji usługi IoT Central:
- W witrynie Azure Portal przejdź do wystąpienia usługi DPS.
- Wybierz pozycję Certyfikaty , a następnie wybierz pozycję Dodaj.
- Przekaż i sprawdź certyfikaty główne lub pośrednie X.509 używane w aplikacji usługi IoT Central.
- Wybierz pozycję Zarządzanie rejestracjami.
- Utwórz nową rejestrację i ustaw typ zaświadczania na Certyfikat, a następnie wybierz przekazane certyfikaty podstawowe i pomocnicze.
- Wybierz pozycję Zapisz.
Pobieranie i konfigurowanie narzędzia do migracji
Pobierz lub sklonuj kopię narzędzia migracji na komputer lokalny:
git clone https://github.com/Azure/iotc-migrator.git
W katalogu głównym pobranego repozytorium utwórz plik env . REACT_APP_AAD_APP_CLIENT_ID
Zaktualizuj wartości , REACT_APP_AAD_APP_TENANT_ID
i REACT_APP_AAD_APP_REDIRECT_URI
przy użyciu wartości z utworzonej wcześniej rejestracji aplikacji Microsoft Entra. Następnie zapisz zmiany:
PORT=3000
REACT_APP_AAD_APP_CLIENT_ID=<your-AAD-Application-(client)-ID>
REACT_APP_AAD_APP_TENANT_ID=<your-AAD-Directory-(tenant)-ID>
REACT_APP_AAD_APP_REDIRECT_URI=http://localhost:3000
Napiwek
Upewnij się, że identyfikator REACT_APP_AAD_APP_REDIRECT_URI
URI przekierowania jest zgodny z identyfikatorem URI użytym w rejestracji aplikacji Firmy Microsoft Entra.
W środowisku wiersza polecenia przejdź do katalogu głównego iotc-migrator
repozytorium. Następnie uruchom następujące polecenia, aby zainstalować wymagane pakiety node.js, a następnie uruchomić narzędzie:
npm install
npm start
Po uruchomieniu aplikacji migracji przejdź do http://localhost:3000
strony , aby wyświetlić narzędzie. Zaloguj się po wyświetleniu monitu.
Migrowanie urządzeń
Użyj narzędzia do migracji urządzeń w partiach. Wprowadź szczegóły migracji na stronie Nowa migracja :
- Wprowadź nazwę migracji.
- Wybierz grupę urządzeń z poziomu aplikacji usługi IoT Central.
- Wybierz szablon urządzenia zawierający definicję polecenia DeviceMove .
- Wybierz pozycję Przenieś do własnej usługi Azure IoT Hub.
- Wybierz wystąpienie usługi DPS połączone z docelowym centrum IoT.
- Wybierz Migruj. Narzędzie wyświetla monit o skopiowanie kluczy z aplikacji usługi IoT Central do grupy rejestracji usługi DPS. Ten krok został wcześniej ukończony w kroku Dodawanie kluczy urządzeń do usługi DPS .
Narzędzie rejestruje teraz wszystkie połączone urządzenia zgodne z filtrem urządzenia docelowego w docelowym centrum IoT. Następnie narzędzie tworzy zadanie w aplikacji usługi IoT Central w celu wywołania metody DeviceMove na wszystkich tych urządzeniach. Ładunek polecenia zawiera zakres identyfikatora docelowego wystąpienia usługi DPS.
Weryfikowanie migracji
Użyj strony Stan migracji w narzędziu migracji, aby monitorować postęp:
Wybierz zadanie na stronie Stan migracji, aby wyświetlić stan zadania w aplikacji usługi IoT Central. Użyj tej strony, aby wyświetlić stan poszczególnych urządzeń w zadaniu:
Urządzenia, które zostały pomyślnie zmigrowane: