Erneutes Bereitstellen von Geräten
Im Lauf des Lebenszyklus einer IoT-Lösung kommt es häufig vor, dass Geräte von einem IoT-Hub zu einem anderen verlagert werden. Dieses Thema wurde zur Unterstützung von Lösungsoperatoren bei der Konfiguration von Richtlinien für die erneute Bereitstellung geschrieben.
Eine ausführlichere Übersicht über Szenarien der erneuten Bereitstellung finden Sie unter IoT Hub Device-Konzepte für die erneute Bereitstellung.
Festlegen der Richtlinie für die erneute Bereitstellung
Mit den folgenden Schritten konfigurieren Sie die Richtlinie für die erneute Bereitstellung für eine einzelne Registrierung oder Registrierungsgruppe:
Melden Sie sich beim Azure-Portal an, und navigieren Sie zur Dienstinstanz für die Gerätebereitstellung.
Wählen Sie Registrierungen verwalten und dann entweder die Registerkarte Registrierungsgruppen oder Individuelle Registrierung aus.
Wählen Sie den Namen der Registrierungsgruppe oder einer einzelnen Registrierung aus, die Sie für die erneute Bereitstellung konfigurieren möchten.
Verwenden Sie das Dropdownmenü unter Richtlinie zur erneuten Bereitstellung, um eine der folgenden Richtlinien zur erneuten Bereitstellung auszuwählen:
Gerät nie erneut bereitstellen.
Gerät erneut zuweisen und auf anfänglichen Zustand zurücksetzen: Diese Richtlinie wird angewendet, wenn Geräte, die dem Registrierungseintrag zugeordnet sind, eine neue Bereitstellungsanforderung senden. Je nach Konfiguration des Registrierungseintrags wird das Gerät möglicherweise einem anderen IoT-Hub zugewiesen. Wenn das Gerät den IoT-Hub wechselt, wird die Geräteregistrierung für den ursprünglichen IoT-Hub entfernt. Die anfänglichen Konfigurationsdaten, die von der Bereitstellungsdienstinstanz bei der Bereitstellung des Geräts empfangen wurden, werden an den neuen IoT-Hub gesendet. Während der Migration wird der Gerätestatus als Wird zugewiesen gemeldet.
Gerät erneut bereitstellen und aktuellen Zustand migrieren: Diese Richtlinie wird angewendet, wenn Geräte, die dem Registrierungseintrag zugeordnet sind, eine neue Bereitstellungsanforderung senden. Je nach Konfiguration des Registrierungseintrags wird das Gerät möglicherweise einem anderen IoT-Hub zugewiesen. Wenn das Gerät den IoT-Hub wechselt, wird die Geräteregistrierung für den ursprünglichen IoT-Hub entfernt. Alle Gerätezustandsinformationen von diesem ursprünglichen IoT-Hub werden zum neuen IoT-Hub migriert. Während der Migration wird der Gerätestatus als Wird zugewiesen gemeldet.
Wählen Sie Speichern aus, um das Gerät basierend auf Ihren Änderungen erneut bereitzustellen.
Konfigurieren der Registrierungszuordnungsrichtlinie
Die Zuordnungsrichtlinie bestimmt, wie die Geräte, die mit der Registrierung verknüpft sind, nach der erneuten Bereitstellung einem IoT-Hub zugeordnet oder zugewiesen werden. Weitere Informationen zu Zuordnungsrichtlinien finden Sie unter Verwenden von Zuordnungsrichtlinien.
Mit den folgenden Schritten wird die Zuordnungsrichtlinie für eine Geräteregistrierung konfiguriert:
Melden Sie sich beim Azure-Portal an, und navigieren Sie zur Dienstinstanz für die Gerätebereitstellung.
Wählen Sie Registrierungen verwalten und dann entweder die Registerkarte Registrierungsgruppen oder Individuelle Registrierung aus.
Wählen Sie den Namen der Registrierungsgruppe oder einer einzelnen Registrierung aus, die Sie für die erneute Bereitstellung konfigurieren möchten.
Wählen Sie auf der Seite Details zur Registrierung die Registerkarte IoT-Hubs aus.
Wählen Sie eine der folgenden Zuordnungsrichtlinien aus:
Statisch: Diese Richtlinie erfordert, dass der gewünschte IoT-Hub im Registrierungseintrag für ein bereitzustellendes Gerät aufgeführt ist. Diese Richtlinie ermöglicht es Ihnen, einen einzelnen IoT-Hub zu bestimmen, dem Sie Geräte zuordnen möchten.
Gleichmäßig gewichtete Verteilung: Diese Richtlinie verteilt Geräte auf die IoT-Hubs, basierend auf der Zuordnungsgewichtung, die für jeden IoT-Hub konfiguriert ist. IoT-Hubs mit einer höheren Zuordnungsgewicht werden mit höherer Wahrscheinlichkeit zugewiesen. Wenn Sie nur für eine IoT Hub-Instanz Geräte bereitstellen, wird diese Einstellung empfohlen. Diese Einstellung ist die Standardeinstellung.
Niedrigste Latenz: Diese Richtlinie ordnet Geräte dem IoT-Hub zu, sodass Gerät und IoT Hub mit der niedrigsten Latenz kommunizieren können. Durch diese Option kann das Gerät je nach Standort mit dem nächstgelegenen IoT-Hub kommunizieren.
Benutzerdefiniert (Azure-Funktion verwenden): Diese Richtlinie verwendet einen benutzerdefinierten Webhook, der in Azure Functions gehostet wird, um Geräte mindestens einem IoT-Hub zuzuweisen. Mithilfe benutzerdefinierter Zuweisungsrichtlinien können Sie genauer steuern, wie Geräte Ihren IoT-Hubs zugewiesen werden. Weitere Informationen finden Sie unter Grundlegendes zu benutzerdefinierten Zuweisungsrichtlinien.
Wählen Sie unter Ziel-IoT-Hubs die verknüpften IoT-Hubs aus, die Sie in Ihre Zuordnungsrichtlinie aufnehmen möchten. Optional können Sie einen neuen verknüpften Iot-Hub über die Schaltfläche Verknüpfung zum ioT-Hub hinzufügen hinzufügen.
Wählen Sie mit der Zuordnungsrichtlinie Statische Konfiguration den IoT Hub aus, dem Sie Geräte zuordnen möchten.
Mit der Zuordnungsrichtlinie Gleichmäßig gewichtete Verteilung wird für die Geräte auf der Grundlage ihrer konfigurierten Zuordnungsgewichtung über die von Ihnen ausgewählten IoT-Hubs das Hashing ausgeführt.
Mit der Zuordnungsrichtlinie Niedrigste Latenz werden die von Ihnen ausgewählten IoT-Hubs in die Latenzauswertung einbezogen, um den nächsten IoT-Hub für die Gerätezuordnung zu bestimmen.
Wählen Sie mit der Zuordnungsrichtlinie Benutzerdefiniert die IoT-Hubs aus, die Sie für die Zuordnung durch Ihren benutzerdefinierten Zuordnungswebhook auswerten möchten.
Wählen Sie Speichern.
Senden einer Bereitstellungsanforderung von einem Gerät
Damit Geräte auf der Grundlage der in den vorangegangenen Abschnitten vorgenommenen Konfigurationsänderungen neu bereitgestellt werden können, müssen diese Geräte eine erneute Bereitstellung anfordern.
Wie oft ein Gerät eine Bereitstellungsanforderung sendet, hängt vom Szenario ab. Beim Entwerfen Ihrer Lösung und Definieren einer Logik für die erneute Bereitstellung sind einige Punkte zu berücksichtigen. Zum Beispiel:
- Wie oft sollen Ihre Geräte neu gestartet werden?
- DPS-Kontingente und -Grenzwerte
- Erwartete Bereitstellungszeit für Ihren Bestand (stufenweiser Rollout im Vergleich zum gleichzeitigen Rollout)
- Für Ihren Clientcode implementierte Wiederholungsfunktion, wie im allgemeinen Leitfaden zum Wiederholen von Vorgängen im Azure Architecture Center beschrieben
Tipp
Es wird empfohlen, die Bereitstellung nicht bei jedem Neustart des Geräts durchzuführen, da bei der erneuten gleichzeitigen Bereitstellung mehrerer Tausend oder Millionen Geräten die Drosselungsgrenzwerte für Dienste erreicht werden können. Stattdessen sollten Sie versuchen, die API zum Abrufen des Geräteregistrierungsstatus zu verwenden und mit diesen Informationen eine Verbindung mit IoT Hub herzustellen. Wenn dabei ein Fehler auftritt, versuchen Sie, die Bereitstellung zu wiederholen, da sich die IoT Hub-Informationen möglicherweise geändert haben. Beachten Sie, dass das Abfragen des Registrierungsstatus als neue Geräteregistrierung gilt. Daher sollten Sie den Grenzwert für die Geräteregistrierung berücksichtigen. Erwägen Sie auch die Implementierung einer geeigneten Wiederholungslogik, z. B. exponentielles Backoff mit Randomisierung, wie im allgemeinen Leitfaden zum Wiederholen von Vorgängen beschrieben. In einigen Fällen ist es abhängig von den Gerätefunktionen möglich, die IoT Hub-Informationen direkt auf dem Gerät zu speichern, um nach der erstmaligen Bereitstellung mit DPS eine direkte Verbindung mit IoT Hub herzustellen. Stellen Sie in diesem Fall sicher, dass Sie einen Fallbackmechanismus implementieren, falls bestimmte Fehler auf dem Hub auftreten. Betrachten Sie beispielsweise die folgenden Szenarien:
- Wiederholen Sie den Hub-Vorgang wenn der Ergebniscode 429 (Zu viele Anforderungen) lautet oder das Ergebnis ein Fehler im Bereich 5xx ist. Bei anderen Fehlern den Vorgang nicht wiederholen.
- Wiederholen Sie bei Fehlern des Typs 429 den Vorgang nach der im Header Retry-After angegebenen Zeit.
- Verwenden Sie bei Fehlern des Typs 5xx exponentielles Backoff mit dem ersten Wiederholungsversuch mindestens 5 Sekunden nach der Antwort.
- Registrieren Sie sich bei anderen Fehlern als 429 und 5xx erneut über DPS
- Im Idealfall sollte eine Methode zum manuellen Auslösen der Bereitstellung nach Bedarf unterstützt werden.
Es wird auch empfohlen, die Dienstgrenzwerte zu berücksichtigen, wenn Sie Aktivitäten wie das Pushen von Updates an Ihren Bestand planen. Wenn sie beispielsweise den gesamten Bestand auf einmal aktualisieren, kann dies dazu führen, dass sich alle Geräte über DPS erneut registrieren (was leicht über dem Grenzwert für Registrierungskontingente liegen kann). In solchen Szenarien sollten Sie die Planung von Geräteupdates in Phasen in Erwägung ziehen, anstatt den gesamten Bestand auf einmal zu aktualisieren.
Nächste Schritte
- Weitere Informationen zur erneuten Bereitstellung finden Sie unter IoT Hub Device-Konzepte für die erneute Bereitstellung.
- Weitere Informationen zum Aufheben der Bereitstellung finden Sie unter Aufheben der Bereitstellung von Geräten, die zuvor automatisch bereitgestellt wurden.