Share via


Migrieren von Geräten zu Azure IoT Hub

Wenn Sie entscheiden, von einer IoT Central-basierten Lösung zu einer IoT Hub-basierten Lösung zu migrieren, müssen Sie die Konfiguration aller derzeit mit Ihrer Anwendung verbundenen Geräte ändern. Das IoTC-Migrationstool automatisiert diesen Gerätemigrationsprozess.

Das Migrationstool:

  • Erstellt Geräteregistrierungen in Ihrem IoT-Hub für die Geräte, die derzeit eine Verbindung mit Ihrer IoT Central-Anwendung herstellen.
  • Verwendet einen Befehl, um den ID-Bereich der Device Provisioning Service (DPS)-Instanz zu senden, die Ihrem IoT-Hub zugeordnet ist.

Das Tool erfordert, dass Ihre verbundenen Geräte einen DeviceMove-Befehl implementieren, der in der Gerätevorlage in Ihrer IoT Central-Anwendung definiert ist. Die Befehlsnutzlast ist der ID-Bereich der Ziel-DPS-Instanz. Wenn ein Gerät diesen Befehl empfängt, sollte Folgendes ausgeführt werden:

  • Beenden Sie das Senden von Telemetrie und trennen Sie die IoT Central-Anwendung.
  • Lassen Sie die Bereitstellung mit DPS selbst durchführen, indem es den neuen ID-Bereich in der Befehlsnutzlast verwendet.
  • Verwenden Sie das Bereitstellungsergebnis, um eine Verbindung mit dem Ziel-IoT-Hub herzustellen und die Telemetrie erneut zu senden.

Tipp

Sie können mithilfe des Migrationstools auch Geräte zwischen IoT Cental-Anwendungen oder von einem IoT-Hub zu einer IoT Central-Anwendung migrieren.

Minimieren der Unterbrechung

Um die Unterbrechung zu minimieren, können Sie Ihre Geräte in Phasen migrieren. Das Migrator-Tool verwendet Gerätegruppen, um Geräte von IoT Central auf Ihren IoT-Hub zu verschieben. Unterteilen Sie Ihren Gerätebestand in Gerätegruppen wie z. B. Geräte in Texas, Geräte in New York und Geräte in den restlichen USA. Migrieren Sie dann jede Gerätegruppe unabhängig voneinander.

Warnung

Sie können einer Gerätegruppe keine nicht zugewiesenen Geräte hinzufügen. Daher können Sie derzeit das Tool für die Migration nicht zugewiesener Geräte nicht verwenden.

Minimieren Sie die geschäftlichen Auswirkungen, indem Sie diese Schritte ausführen:

  • Erstellen Sie die PaaS-Lösung, und führen Sie sie gleichzeitig mit der IoT Central-Anwendung aus.

  • Richten Sie den fortlaufenden Datenexport in der IoT Central-Anwendung und die entsprechenden Routen zum IoT-Hub der PaaS-Lösung ein. Transformieren Sie beide Datenkanäle, und speichern Sie die Daten in demselben Data Lake.

  • Migrieren Sie die Geräte in Phasen, und überprüfen Sie sie in jeder Phase. Wenn etwas nicht wie geplant funktioniert, führen Sie für die Geräte ein Failback zu IoT Central durch.

  • Wenn Sie alle Geräte zur PaaS-Lösung migriert und Ihre Daten aus IoT Central vollständig exportiert haben, können Sie die Geräte aus der IoT Central-Lösung entfernen.

Nach der Migration werden Geräte nicht automatisch aus der IoT Central-Anwendung gelöscht. Diese Geräte werden weiterhin als IoT Central-Gebühren für alle bereitgestellten Geräte in der Anwendung abgerechnet. Wenn Sie diese Geräte aus der IoT Central-Anwendung entfernen, werden sie Ihnen nicht mehr in Rechnung gestellt. Entfernen Sie schließlich die IoT Central-Anwendung.

Verschieben von vorhandenen Daten aus IoT Central

Sie können IoT Central so konfigurieren, dass Telemetriedaten und Eigenschaftswerte kontinuierlich exportiert werden. Exportziele sind Datenspeicher wie Azure Data Lake, Event Hubs und Webhooks. Sie können Gerätevorlagen entweder über die IoT Central-Benutzeroberfläche oder mithilfe der REST-API exportieren. Bei der REST-API können Sie die Benutzer in einer IoT Central-Anwendung exportieren.

Voraussetzungen

Sie benötigen die folgenden Voraussetzungen, um die Gerätemigrationsschritte durchzuführen:

Geräteanforderungen

Die Geräte, die Sie migrieren möchten, müssen den Befehl DeviceMove in der Komponente Migration implementieren. Die Befehlsnutzlast enthält den ID-Bereich der Ziel-DPS-Instanz. Das Repository des Migrationstools enthält ein Beispiel für ein DTDL-Komponentenmodell, das den Befehl DeviceMove definiert. Sie können diese Komponente Ihren vorhandenen Gerätevorlagen hinzufügen.

Das Tool geht davon aus, dass der Komponentenname migration und die Schnittstellen-ID dtmi:azureiot:DeviceMigration;1 lautet:

Screenshot that highlights the component name and interface ID.

Das Toolrepository enthält auch Beispielcode, der zeigt, wie ein Gerät den Befehl DeviceMove implementieren sollte.

Tooleinrichtung

Führen Sie die folgenden Einrichtungsaufgaben aus, um die Migration vorzubereiten:

Microsoft Entra-Anwendung

Das Migrationstool erfordert eine Microsoft Entra-Anwendungsregistrierung, damit sie sich mit Ihrem Azure-Abonnement authentifizieren kann:

  1. Navigieren Sie zu Azure-Portal > Microsoft Entra ID > App-Registrierungen.

  2. Wählen Sie Neue Registrierung aus.

  3. Geben Sie einen Namen wie „IoTC Migrations-App“ ein.

  4. Wählen Sie Konten in einem beliebigen Organisationsverzeichnis (beliebiges Microsoft Entra-Verzeichnis – mehrinstanzenfähig) und persönliche Microsoft-Konten (z. B. Skype, Xbox).

  5. Wählen Sie Single-Page-Webanwendung (SPA) aus.

  6. Geben Sie http://localhost:3000 als die Umleitungs-URI ein. Sie fügen diesen Wert später der Konfiguration der Migrations-App hinzu.

  7. Wählen Sie Registrieren aus.

  8. Notieren Sie sich die Werte von Verzeichnis-ID (Mandant) und Anwendungs-ID (Client). Sie verwenden diese Werte später zum Konfigurieren der Migrations-App:

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

  9. Navigieren Sie in der Registrierung zur Seite Manifest, und ersetzen Sie den Inhalt von requiredResourceAccess durch die folgende 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. Speichern Sie die Änderungen.

Hinzufügen der Geräteschlüssel zu DPS

Fügen Sie die freigegebenen Zugriffssignaturschlüssel oder X.509-Zertifikate aus Ihrer IoT Central-Anwendung zu Ihrer DPS-Zuordnungsgruppe hinzu.

Wenn Ihre Geräte freigegebene Zugriffssignaturen verwenden, um sich bei Ihrer IoT Central-Anwendung zu authentifizieren:

  • Navigieren Sie in Ihrer IoT Central-Anwendung zu Berechtigungen > Geräteverbindungsgruppen.
  • Wählen Sie die Registrierungsgruppe aus, die Ihre Geräte verwenden.
  • Notieren Sie sich die primären und sekundären Schlüssel.
  • Navigieren Sie im Azure-Portal zu Ihrer DPS-Instanz.
  • Klicken Sie auf Registrierungen verwalten.
  • Erstellen Sie eine neue Registrierung, und legen Sie den Bestätigungstyp auf symmetrischer Schlüssel fest, wählen Sie automatisch generierte Schlüssel aus und fügen Sie dann die primären und sekundären Schlüssel hinzu, die Sie notiert haben.
  • Wählen Sie Speichern aus.

Wenn Ihre Geräte X.509-Zertifikate verwenden, um sich bei Ihrer IoT Central-Anwendung zu authentifizieren:

  • Navigieren Sie im Azure-Portal zu Ihrer DPS-Instanz.
  • Wählen Sie Zertifikate und dann Hinzufügen aus.
  • Laden Sie die Stamm- oder Zwischenzertifikate von X.509 hoch, die Sie in Ihrer IoT Central-Anwendung verwenden.
  • Klicken Sie auf Registrierungen verwalten.
  • Erstellen Sie eine neue Registrierung und legen Sie den Typ auf Zertifikat fest, und wählen Sie dann die primären und sekundären Zertifikate aus, die Sie hochgeladen haben.
  • Wählen Sie Speichern aus.

Herunterladen und Konfigurieren des Migrationstools

Laden Sie eine Kopie des Migrationstools auf Ihren lokalen Computer herunter oder klonen Sie sie:

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

Erstellen Sie im Stammverzeichnis des heruntergeladenen Repositorys eine ENV-Datei. Aktualisieren Sie die Werte REACT_APP_AAD_APP_CLIENT_ID, REACT_APP_AAD_APP_TENANT_ID und REACT_APP_AAD_APP_REDIRECT_URI mit den Werten aus der Microsoft Entra-Anwendungsregistrierung, die Sie zuvor erstellt haben. Speichern Sie die Änderungen:

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

Tipp

Stellen Sie sicher, dass REACT_APP_AAD_APP_REDIRECT_URI mit der Weiterleitungs-URI übereinstimmt, die Sie in Ihrer Microsoft Entra-Anwendungsregistrierung verwendet haben.

Navigieren Sie in Ihrer Befehlszeilenumgebung zum Stamm des iotc-migrator-Repositorys. Führen Sie dann die folgenden Befehle aus, um die erforderlichen node.js-Pakete zu installieren und dann das Tool auszuführen:

npm install
npm start

Nachdem die Migrations-App gestartet wurde, navigieren Sie zu http://localhost:3000, um das Tool anzuzeigen. Melden Sie sich bei der entsprechenden Aufforderung an.

Geräte migrieren

Verwenden Sie das Tool, um Ihre Geräte in Batches zu migrieren. Geben Sie die Migrationsdetails auf der Seite Neue Migration ein:

  1. Geben Sie einen Namen für die Migration ein.
  2. Wählen Sie eine Gerätegruppe aus Ihrer IoT Central-Anwendung aus.
  3. Wählen Sie eine Gerätevorlage aus, die die DeviceMove-Befehlsdefinition enthält.
  4. Wählen Sie Zu Ihrem eigenen Azure IoT Hub verschieben aus.
  5. Wählen Sie die DPS-Instanz aus, die mit Ihrem Ziel-IoT-Hub verknüpft ist.
  6. Klicken Sie auf Migrieren. Das Tool fordert Sie auf, die Schlüssel aus Ihrer IoT Central-Anwendung in die DPS-Registrierungsgruppe zu kopieren. Diesen Schritt haben Sie zuvor im Schritt Hinzufügen der Geräteschlüssel zu DPS abgeschlossen.

Screenshot of migration tool that shows the migration definition.

Das Tool registriert jetzt alle verbundenen Geräte, die dem Zielgerätefilter im Ziel-IoT-Hub entsprechen. Das Tool erstellt dann einen Auftrag in Ihrer IoT Central-Anwendung, um die DeviceMove-Methode auf allen diesen Geräten aufzurufen. Die Befehlsnutzlast enthält den ID-Bereich der Ziel-DPS-Instanz.

Überprüfen der Migration

Über die Seite Migrationsstatus im Migrationstool können Sie den Fortschritt überwachen:

Screenshot that shows the migration status page in the tool.

Wählen Sie auf der Seite Migrationsstatus einen Auftrag aus, um den Auftragsstatus in Ihrer IoT Central-Anwendung anzuzeigen. Verwenden Sie diese Seite, um den Status der einzelnen Geräte im Auftrag anzuzeigen:

Screenshot showing completed migration status for IoT Central job.

Geräte, die erfolgreich migriert wurden:

  • werden auf der Seite „Geräte“ in Ihrer IoT Central-Anwendung als getrennt angezeigt.

  • werden als registriert und bereitgestellt in Ihrem IoT-Hub angezeigt:

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

  • senden jetzt Telemetrie an Ihren IoT-Hub

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