Udostępnij za pośrednictwem


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:

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:

Screenshot that highlights the component name and interface ID.

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:

  1. Przejdź do witryny Azure Portal > Rejestracje aplikacji identyfikatora > entra firmy Microsoft.

  2. Wybierz Nowa rejestracja.

  3. Wprowadź nazwę, taką jak "Aplikacja IoTC Migrator".

  4. Wybierz pozycję Konta w dowolnym katalogu organizacyjnym (dowolny katalog Microsoft Entra — multitenant) i osobiste konta Microsoft (np. Skype, Xbox).

  5. Wybierz pozycję Aplikacja jednostronicowa (SPA).

  6. Wprowadź http://localhost:3000 jako identyfikator URI przekierowania. Ta wartość zostanie dodana do konfiguracji aplikacji migracji później.

  7. Wybierz pozycję Zarejestruj.

  8. Zanotuj wartości Identyfikator aplikacji (klienta) i Identyfikator katalogu (dzierżawy). Te wartości będą później używane do konfigurowania aplikacji migracji:

    Screenshot that shows the Microsoft Entra application in the Azure portal.

  9. 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"
          }
        ]
      }
    ]
    
  10. 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_IDZaktualizuj wartości , REACT_APP_AAD_APP_TENANT_IDi 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 :

  1. Wprowadź nazwę migracji.
  2. Wybierz grupę urządzeń z poziomu aplikacji usługi IoT Central.
  3. Wybierz szablon urządzenia zawierający definicję polecenia DeviceMove .
  4. Wybierz pozycję Przenieś do własnej usługi Azure IoT Hub.
  5. Wybierz wystąpienie usługi DPS połączone z docelowym centrum IoT.
  6. 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 .

Screenshot of migration tool that shows the migration definition.

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:

Screenshot that shows the migration status page in the tool.

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:

Screenshot showing completed migration status for IoT Central job.

Urządzenia, które zostały pomyślnie zmigrowane:

  • Pokaż jako Rozłączone na stronie urządzenia w aplikacji usługi IoT Central.

  • Pokaż jako zarejestrowane i aprowidowane w centrum IoT:

    Screenshot of IoT Hub in the Azure portal that shows the provisioned devices.

  • Teraz wysyłają dane telemetryczne do centrum IoT

    Screenshot of IoT Hub in the Azure portal that shows telemetry metrics for the migrated devices.