Migrera enheter till Azure IoT Hub

Om du bestämmer dig för att migrera från en IoT Central-baserad lösning till en IoT Hub-baserad lösning måste du ändra konfigurationen för alla enheter som för närvarande är anslutna till ditt program. IoTC Migrator-verktyget automatiserar den här enhetsmigreringsprocessen.

Migreringsverktyget:

  • Skapar enhetsregistreringar i din IoT-hubb för de enheter som för närvarande ansluter till ditt IoT Central-program.
  • Använder ett kommando för att skicka ID-omfånget för DPS-instansen (Device Provisioning Service) som är associerad med din IoT-hubb till dina enheter.

Verktyget kräver att dina anslutna enheter implementerar ett DeviceMove-kommando som definieras i enhetsmallen i IoT Central-programmet. Kommandonyttolasten är ID-omfånget för DPS-målinstansen. När en enhet tar emot det här kommandot bör den:

  • Sluta skicka telemetri och koppla från IoT Central-programmet.
  • Etablera sig med DPS med hjälp av det nya ID-omfånget i kommandonyttolasten.
  • Använd etableringsresultatet för att ansluta till mål-IoT-hubben och börja skicka telemetri igen.

Dricks

Du kan också använda migreringsverktyget för att migrera enheter mellan IoT Cental-program eller från en IoT-hubb till ett IoT Central-program.

Minimera störningar

För att minimera störningar kan du migrera dina enheter i faser. Migreringsverktyget använder enhetsgrupper för att flytta enheter från IoT Central till din IoT-hubb. Dela upp enhetsflottan i enhetsgrupper som enheter i Texas, enheter i New York och enheter i resten av USA. Migrera sedan varje enhetsgrupp separat.

Varning

Du kan inte lägga till otilldelade enheter i en enhetsgrupp. Därför kan du för närvarande inte använda migreringsverktyget för att migrera otilldelade enheter.

Minimera affärspåverkan genom att följa dessa steg:

  • Skapa PaaS-lösningen och kör den parallellt med IoT Central-programmet.

  • Konfigurera kontinuerlig dataexport i IoT Central-programmet och lämpliga vägar till PaaS-lösningens IoT-hubb. Omvandla båda datakanalerna och lagra data i samma datasjö.

  • Migrera enheterna i faser och verifiera vid varje fas. Om något inte går som planerat kan du återställa enheterna till IoT Central.

  • När du har migrerat alla enheter till PaaS-lösningen och helt exporterat dina data från IoT Central kan du ta bort enheterna från IoT Central-lösningen.

Efter migreringen tas enheterna inte bort automatiskt från IoT Central-programmet. Dessa enheter debiteras fortfarande som IoT Central-avgifter för alla etablerade enheter i programmet. När du tar bort dessa enheter från IoT Central-programmet debiteras du inte längre för dem. Ta slutligen bort IoT Central-programmet.

Flytta befintliga data från IoT Central

Du kan konfigurera IoT Central för kontinuerlig export av telemetri- och egenskapsvärden. Exportmål är datalager som Azure Data Lake, Event Hubs och Webhooks. Du kan exportera enhetsmallar med antingen IoT Central-användargränssnittet eller REST-API:et. Med REST-API:et kan du exportera användarna i ett IoT Central-program.

Förutsättningar

Du behöver följande förutsättningar för att slutföra enhetsmigreringsstegen:

Enhetskrav

De enheter som du vill migrera måste implementera kommandot DeviceMove i en komponent som kallas migrering. Kommandonyttolasten innehåller ID-omfånget för DPS-målinstansen. Lagringsplatsen för migreringsverktyget innehåller ett exempel på en DTDL-komponentmodell som definierar kommandot DeviceMove . Du kan lägga till den här komponenten i dina befintliga enhetsmallar.

Verktyget förutsätter att komponentnamnet är migration och att gränssnitts-ID:t är dtmi:azureiot:DeviceMigration;1:

Screenshot that highlights the component name and interface ID.

Verktygslagringsplatsen innehåller även exempelkod som visar hur en enhet ska implementera kommandot DeviceMove .

Verktygskonfiguration

Slutför följande installationsaktiviteter för att förbereda migreringen:

Microsoft Entra-program

Migreringsverktyget kräver en Microsoft Entra-programregistrering för att kunna autentisera med din Azure-prenumeration:

  1. Gå till Microsoft Entra-ID > för Azure-portalen > Appregistreringar.

  2. Välj Ny registrering.

  3. Ange ett namn som "IoTC Migrator app".

  4. Välj Konton i valfri organisationskatalog (Alla Microsoft Entra-kataloger – Multitenant) och personliga Microsoft-konton (t.ex. Skype, Xbox).

  5. Välj Ensidesprogram (SPA).

  6. Ange http://localhost:3000 som omdirigerings-URI. Du lägger till det här värdet i migratorappkonfigurationen senare.

  7. Välj Registrera.

  8. Anteckna värdena för program-IDoch katalog-ID (klientorganisation). Du använder dessa värden senare för att konfigurera migreringsappen:

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

  9. Gå till sidan Manifest i registreringen och ersätt innehållet i requiredResourceAccess med följande konfiguration:

    [
      {
        "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. Spara ändringarna.

Lägg till enhetsnycklarna i DPS

Lägg till signaturnycklarna för delad åtkomst eller X.509-certifikaten från ditt IoT Central-program i dps-allokeringsgruppen.

Om dina enheter använder signaturer för delad åtkomst för att autentisera till ditt IoT Central-program:

  • I ditt IoT Central-program går du till Behörigheter > Enhetsanslutningsgrupper.
  • Välj den registreringsgrupp som enheterna använder.
  • Anteckna de primära och sekundära nycklarna.
  • I Azure-portalen navigerar du till din DPS-instans.
  • Välj Hantera registreringar.
  • Skapa en ny registrering och ange attesteringstypen till Symmetrisk nyckel, avmarkera Autogenerera nycklar och lägg sedan till de primära och sekundära nycklar som du antecknade.
  • Välj Spara.

Om dina enheter använder X.509-certifikat för att autentisera till ditt IoT Central-program:

  • I Azure-portalen navigerar du till din DPS-instans.
  • Välj Certifikat och välj sedan Lägg till.
  • Ladda upp och verifiera de rotcertifikat eller mellanliggande X.509-certifikat som du använder i ditt IoT Central-program.
  • Välj Hantera registreringar.
  • Skapa en ny registrering och ange attesteringstypen till Certifikat och välj sedan de primära och sekundära certifikat som du laddade upp.
  • Välj Spara.

Ladda ned och konfigurera migreringsverktyget

Ladda ned eller klona en kopia av migreringsverktyget till din lokala dator:

git clone https://github.com/Azure/iotc-migrator.git

Skapa en .env-fil i roten på den nedladdade lagringsplatsen. REACT_APP_AAD_APP_CLIENT_IDUppdatera värdena , REACT_APP_AAD_APP_TENANT_IDoch REACT_APP_AAD_APP_REDIRECT_URI med värdena från Microsoft Entra-programregistreringen som du skapade tidigare. Spara sedan ändringarna:

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

Dricks

Kontrollera att matchar REACT_APP_AAD_APP_REDIRECT_URI omdirigerings-URI:n som du använde i din Microsoft Entra-programregistrering.

I kommandoradsmiljön navigerar du till lagringsplatsens iotc-migrator rot. Kör sedan följande kommandon för att installera de nödvändiga node.js paketen och kör sedan verktyget:

npm install
npm start

När migreringsappen har startat navigerar du till för att http://localhost:3000 visa verktyget. Logga in när du uppmanas att göra det.

Migrera enheter

Använd verktyget för att migrera dina enheter i batchar. Ange migreringsinformationen på sidan Ny migrering :

  1. Ange ett namn för migreringen.
  2. Välj en enhetsgrupp från ditt IoT Central-program.
  3. Välj en enhetsmall som innehåller kommandodefinitionen DeviceMove .
  4. Välj Flytta till din egen Azure IoT Hub.
  5. Välj DPS-instansen som är länkad till mål-IoT-hubben.
  6. Välj Migrera. Verktyget uppmanar dig att kopiera nycklarna från ditt IoT Central-program till DPS-registreringsgruppen. Du har tidigare slutfört det här steget i steget Lägg till enhetsnycklar i DPS .

Screenshot of migration tool that shows the migration definition.

Verktyget registrerar nu alla anslutna enheter som matchade målenhetsfiltret i mål-IoT-hubben. Verktyget skapar sedan ett jobb i IoT Central-programmet för att anropa metoden DeviceMove på alla dessa enheter. Kommandonyttolasten innehåller ID-omfånget för DPS-målinstansen.

Verifiera migrering

Använd sidan Migreringsstatus i migreringsverktyget för att övervaka förloppet:

Screenshot that shows the migration status page in the tool.

Välj ett jobb på sidan Migreringsstatus för att visa jobbstatusen i ditt IoT Central-program. Använd den här sidan om du vill visa status för de enskilda enheterna i jobbet:

Screenshot showing completed migration status for IoT Central job.

Enheter som har migrerats:

  • Visa som Frånkopplad på enhetssidan i IoT Central-programmet.

  • Visa som registrerad och etablerad i din IoT-hubb:

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

  • Skickar nu telemetri till din IoT-hubb

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