Apparaten migreren naar Azure IoT Hub

Als u besluit om te migreren van een IoT Central-oplossing naar een IoT Hub-oplossing, moet u de configuratie wijzigen van alle apparaten die momenteel zijn verbonden met uw toepassing. Het IoTC Migrator-hulpprogramma automatiseert dit migratieproces voor apparaten.

Het migratiehulpmiddel:

  • Hiermee maakt u apparaatregistraties in uw IoT-hub voor de apparaten die momenteel verbinding maken met uw IoT Central-toepassing.
  • Gebruikt een opdracht om het id-bereik van het DPS-exemplaar (Device Provisioning Service) te verzenden dat is gekoppeld aan uw IoT-hub naar uw apparaten.

Voor het hulpprogramma moeten uw verbonden apparaten een DeviceMove-opdracht implementeren die is gedefinieerd in de apparaatsjabloon in uw IoT Central-toepassing. De nettolading van de opdracht is het id-bereik van het doel-DPS-exemplaar. Wanneer een apparaat deze opdracht ontvangt, moet het volgende worden uitgevoerd:

  • Stop met het verzenden van telemetrie en verbreek de verbinding met de IoT Central-toepassing.
  • Richt zichzelf in met DPS met behulp van het nieuwe id-bereik in de nettolading van de opdracht.
  • Gebruik het inrichtingsresultaat om verbinding te maken met de IoT-doelhub en begin opnieuw telemetrie te verzenden.

Tip

U kunt het migratieprogramma ook gebruiken om apparaten te migreren tussen IoT Cental-toepassingen of van een IoT-hub naar een IoT Central-toepassing.

Onderbreking minimaliseren

Als u onderbrekingen wilt minimaliseren, kunt u uw apparaten in fasen migreren. Het migratieprogramma maakt gebruik van apparaatgroepen om apparaten van IoT Central naar uw IoT-hub te verplaatsen. Deel uw apparaatvloot op in apparaatgroepen, zoals apparaten in Texas, apparaten in New York en apparaten in de rest van de VS. Migreer vervolgens elke apparaatgroep afzonderlijk.

Waarschuwing

U kunt niet-toegewezen apparaten niet toevoegen aan een apparaatgroep. Daarom kunt u momenteel het migratiehulpprogramma niet gebruiken om niet-toegewezen apparaten te migreren.

Minimaliseer de bedrijfsimpact door de volgende stappen uit te voeren:

  • Maak de PaaS-oplossing en voer deze parallel uit met de IoT Central-toepassing.

  • Stel continue gegevensexport in de IoT Central-toepassing en de juiste routes in naar de IoT-hub van de PaaS-oplossing. Transformeer beide gegevenskanalen en sla de gegevens op in dezelfde data lake.

  • Migreer de apparaten in fasen en controleer bij elke fase. Als iets niet zoals gepland gaat, mislukt u de apparaten terug naar IoT Central.

  • Wanneer u alle apparaten naar de PaaS-oplossing hebt gemigreerd en uw gegevens volledig hebt geëxporteerd uit IoT Central, kunt u de apparaten verwijderen uit de IoT Central-oplossing.

Na de migratie worden apparaten niet automatisch verwijderd uit de IoT Central-toepassing. Deze apparaten worden nog steeds gefactureerd als IoT Central-kosten voor alle ingerichte apparaten in de toepassing. Wanneer u deze apparaten verwijdert uit de IoT Central-toepassing, worden ze niet meer in rekening gebracht. Verwijder uiteindelijk de IoT Central-toepassing.

Bestaande gegevens uit IoT Central verplaatsen

U kunt IoT Central configureren om continu telemetrie- en eigenschapswaarden te exporteren. Exportbestemmingen zijn gegevensarchieven zoals Azure Data Lake, Event Hubs en Webhooks. U kunt apparaatsjablonen exporteren met behulp van de IoT Central-gebruikersinterface of de REST API. Met de REST API kunt u de gebruikers exporteren in een IoT Central-toepassing.

Vereisten

U hebt de volgende vereisten nodig om de migratiestappen van het apparaat te voltooien:

Vereisten voor apparaten

De apparaten die u wilt migreren, moeten de DeviceMove-opdracht implementeren in een onderdeel met de naam migratie. De nettolading van de opdracht bevat het id-bereik van het doel-DPS-exemplaar. De opslagplaats voor het migratiehulpprogramma bevat een voorbeeld van een DTDL-onderdeelmodel dat de DeviceMove-opdracht definieert. U kunt dit onderdeel toevoegen aan uw bestaande apparaatsjablonen.

Bij het hulpprogramma wordt ervan uitgegaan dat de onderdeelnaam is migration en dat de interface-id:dtmi:azureiot:DeviceMigration;1

Screenshot that highlights the component name and interface ID.

De opslagplaats van het hulpprogramma bevat ook voorbeeldcode die laat zien hoe een apparaat de DeviceMove-opdracht moet implementeren.

Installatie van hulpprogramma's

Voer de volgende installatietaken uit om de migratie voor te bereiden:

Microsoft Entra-toepassing

Voor het migratieprogramma is een Microsoft Entra-toepassingsregistratie vereist om deze te kunnen verifiëren met uw Azure-abonnement:

  1. Navigeer naar De Microsoft Entra ID-App-registraties >van Azure Portal>.

  2. Selecteer Nieuwe registratie.

  3. Voer een naam in, zoals 'IoTC Migrator-app'.

  4. Selecteer Accounts in een organisatiedirectory (Elke Microsoft Entra-directory - Multitenant) en persoonlijke Microsoft-accounts (bijvoorbeeld Skype, Xbox).

  5. Selecteer toepassing met één pagina (BEVEILIGD-WACHTWOORDVERIFICATIE).

  6. Voer in http://localhost:3000 als de omleidings-URI. U voegt deze waarde later toe aan de configuratie van de migratie-app.

  7. Selecteer Registreren.

  8. Noteer de waarden voor de id van de toepassing (client) en de map-id (tenant). U gebruikt deze waarden later om de migratie-app te configureren:

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

  9. Navigeer naar de pagina Manifest in de registratie en vervang de inhoud van de requiredResourceAccess pagina door de volgende configuratie:

    [
      {
        "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. De wijzigingen opslaan.

De apparaatsleutels toevoegen aan DPS

Voeg de handtekeningsleutels voor gedeelde toegang of X.509-certificaten uit uw IoT Central-toepassing toe aan uw DPS-toewijzingsgroep.

Als uw apparaten handtekeningen voor gedeelde toegang gebruiken om te verifiëren bij uw IoT Central-toepassing:

  • Navigeer in uw IoT Central-toepassing naar verbindingsgroepen voor machtigingen>.
  • Selecteer de inschrijvingsgroep die uw apparaten gebruiken.
  • Noteer de primaire en secundaire sleutels.
  • Navigeer in Azure Portal naar uw DPS-exemplaar.
  • Selecteer Inschrijvingen beheren.
  • Maak een nieuwe inschrijving en stel het attestation-type in op Symmetrische sleutel, hef de selectie van sleutels voor automatisch genereren op en voeg vervolgens de primaire en secundaire sleutels toe die u hebt genoteerd.
  • Selecteer Opslaan.

Als uw apparaten X.509-certificaten gebruiken om te verifiëren bij uw IoT Central-toepassing:

  • Navigeer in Azure Portal naar uw DPS-exemplaar.
  • Selecteer Certificaten en selecteer vervolgens Toevoegen.
  • Upload en controleer de basis- of tussenliggende X.509-certificaten die u gebruikt in uw IoT Central-toepassing.
  • Selecteer Inschrijvingen beheren.
  • Maak een nieuwe inschrijving en stel het attestation-type in op Certificaat en selecteer vervolgens de primaire en secundaire certificaten die u hebt geüpload.
  • Selecteer Opslaan.

Het migratieprogramma downloaden en configureren

Download of kloon een kopie van het migratieprogramma naar uw lokale computer:

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

Maak in de hoofdmap van de gedownloade opslagplaats een .env-bestand . Werk de REACT_APP_AAD_APP_CLIENT_IDwaarden en REACT_APP_AAD_APP_TENANT_IDREACT_APP_AAD_APP_REDIRECT_URI waarden bij met de waarden uit de registratie van de Microsoft Entra-toepassing die u eerder hebt gemaakt. Sla vervolgens de wijzigingen op:

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

Tip

Zorg ervoor dat de REACT_APP_AAD_APP_REDIRECT_URI omleidings-URI overeenkomt met de omleidings-URI die u hebt gebruikt in de registratie van uw Microsoft Entra-toepassing.

Navigeer in uw opdrachtregelomgeving naar de hoofdmap van de iotc-migrator opslagplaats. Voer vervolgens de volgende opdrachten uit om de vereiste node.js pakketten te installeren en voer vervolgens het hulpprogramma uit:

npm install
npm start

Nadat de migratie-app is gestart, gaat u naar http://localhost:3000 de weergave van het hulpprogramma. Meld u aan wanneer u hierom wordt gevraagd.

Apparaten migreren

Gebruik het hulpprogramma om uw apparaten in batches te migreren. Voer de migratiedetails in op de pagina Nieuwe migratie :

  1. Voer een naam in voor de migratie.
  2. Selecteer een apparaatgroep in uw IoT Central-toepassing.
  3. Selecteer een apparaatsjabloon met de deviceMove-opdrachtdefinitie .
  4. Selecteer Verplaatsen naar uw eigen Azure IoT Hub.
  5. Selecteer het DPS-exemplaar dat is gekoppeld aan uw IoT-doelhub.
  6. Selecteer Migreren. Het hulpprogramma vraagt u om de sleutels van uw IoT Central-toepassing te kopiëren naar de DPS-inschrijvingsgroep. U hebt deze stap eerder voltooid in de stap Apparaatsleutels toevoegen aan DPS .

Screenshot of migration tool that shows the migration definition.

Het hulpprogramma registreert nu alle verbonden apparaten die overeenkomen met het doelapparaatfilter in de IoT-doelhub. Het hulpprogramma maakt vervolgens een taak in uw IoT Central-toepassing om de DeviceMove-methode op al deze apparaten aan te roepen. De nettolading van de opdracht bevat het id-bereik van het doel-DPS-exemplaar.

Migratie verifiëren

Gebruik de pagina Migratiestatus in het migratiehulpprogramma om de voortgang te controleren:

Screenshot that shows the migration status page in the tool.

Selecteer een taak op de pagina Migratiestatus om de taakstatus in uw IoT Central-toepassing weer te geven. Op deze pagina kunt u de status van de afzonderlijke apparaten in de taak bekijken:

Screenshot showing completed migration status for IoT Central job.

Apparaten die zijn gemigreerd:

  • Weergeven als Verbroken op de apparatenpagina in uw IoT Central-toepassing.

  • Weergeven als geregistreerd en ingericht in uw IoT-hub:

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

  • Verzendt nu telemetrie naar uw IoT-hub

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