Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Nutzen Sie Software-Updates, eine Funktion der Azure-Geräteregistrierung, um Over-the-Air-Updates in großem Maßstab auf Ihre Geräte zu liefern. Importiere Updates in einen Azure Device Registry-Namensraum und nutze dann Jobs und Gruppen in diesem Namensraum, um sie auf Geräten bereitzustellen.
Wichtig
Die Software-Updates für Azure Device Registry befinden sich derzeit in der Vorschau. Die aktuelle Vorschau gilt für mit IoT Hub verbundene Geräte. Nutzen Sie keine Vorschaufunktionen für Produktionsworkloads. Für Produktionsworkloads verwenden Sie weiterhin Device Update for IoT Hub, das weiterhin allgemein verfügbar ist.
Die zusätzlichen Nutzungsbestimmungen für Microsoft Azure-Vorschauen enthalten rechtliche Bedingungen. Sie gelten für diejenigen Azure-Features, die sich in der Beta- oder Vorschauversion befinden oder aber anderweitig noch nicht zur allgemeinen Verfügbarkeit freigegeben sind.
Anwendbarkeit des Dienstes
| Feature | Azure IoT-Vorgänge | Azure IoT Hub |
|---|---|---|
| Software-Updates | Nicht anwendbar | Preview |
Software-Updates und Geräte-Update für IoT Hub
Software-Updates bringen Over-the-Air-Update-Funktionen in das Azure Device Registry. Es verwendet dasselbe Import-Manifest-Format wie Device Update for IoT Hub und ermöglicht es, Updates auf Namensraumebene mithilfe von Azure Device Registry-Gruppen und -Jobs zu verwalten.
Verwenden Sie die folgenden Anleitungen, um die richtige Option zu wählen:
| Wenn Sie... | Verwenden |
|---|---|
| Benötigen Sie Over-the-Air-Updates für Produktionsworkloads? | Geräte-Update für den IoT Hub, der weiterhin allgemein verfügbar und unterstützt wird. |
| Sie möchten die Verwaltung von Updates über Azure Device Registry-Namensräume, Gruppen und Jobs evaluieren | Software-Updates (Vorschau), die in diesem Artikel beschrieben werden. |
Behalte folgende Überlegungen im Hinterkopf, wenn du bereits Device Update für IoT Hub nutzt:
- Man kann nicht beide auf demselben IoT-Hub verwenden. In dieser Vorschau können Sie Software-Updates nur mit IoT-Hubs verwenden, die keine bestehende Device Update für IoT Hub-Instanz haben. Um Software-Updates auszuprobieren, verbinden Sie einen IoT hub, der Device Update for IoT Hub nicht verwendet, mit Ihrem Namensraum.
- Geräte verwenden einen anderen Client. Geräte, die den Device Update Agent ausführen, können keine Updates von Software-Updates erhalten. Um Software-Updates zu erhalten, verwendet ein Gerät den Software-Update-Client in den einheitlichen Azure IoT SDKs (Vorschau).
Wie Software-Updates funktionieren
Sie aktivieren Software-Updates auf einem Azure Device Registry-Namensraum, entweder beim Einrichten des Namensraums oder später. Um das zu erfahren, siehe Erste Schritte mit Azure Device Registry (Vorschau). Die Funktion führt folgende Komponenten ein:
- Software-Update: Ein Update, das man in einen Namensraum importiert. Ein Software-Update besteht aus einer oder mehreren Aktualisierungsdateien und einem Import-Manifest. Nachdem du ein Software-Update importiert hast, steht es für Software-Update-Jobs und Onboarding-Update-Jobs in diesem Namensraum zur Verfügung.
- Software-Update-Auftrag: Führt ein Software-Update auf die kompatiblen Geräte in einer Zielgruppe durch.
- Onboarding-Update-Job: Spielt ein Software-Update auf kompatible Geräte auf, wenn sie während des Onboardings nach Updates suchen, bevor sie registriert werden und den Betrieb aufnehmen.
- Software-Updates-Client: Der Teil der einheitlichen Azure IoT-SDKs (Vorschau), den Ihre Geräteanwendung verwendet, um Software-Updates zu überprüfen, herunterzuladen und zu installieren sowie die Ergebnisse zu melden.
Ein typischer Update-Ablauf sieht so aus:
- Du lädst die Update-Dateien und das Importmanifest in einen Azure Storage-Container hoch.
- Du importierst das Software-Update in deinen Namensraum.
- Du erstellst einen Job, der eine Gruppe anspricht oder, zum Onboarding, den Namespace.
- Jedes Gerät überprüft Updates und meldet seine Kompatibilitätseigenschaften. Wenn das Gerät kompatibel ist, erhält es das Update.
- Das Gerät lädt das Update herunter und installiert es und meldet dann das Ergebnis. Sie überwachen den Fortschritt und die Ergebnisse auf Geräteebene während des Job-Runs.
Software-Updates
Ein Software-Update besteht aus zwei Komponenten, die Sie zusammen hochladen:
- Update-Dateien: Das Paket, das das Gerät installiert. Die Nutzlast kann ein Firmware-Abbild, ein Softwarepaket, ein Skript oder mehrere verwandte Dateien sein.
-
Importmanifest: Eine JSON-Datei mit der
.importmanifest.jsonErweiterung, die das Update beschreibt. Das Importmanifest gibt an:- Update-Identität: Der Anbieter, Name und Version, die das Update eindeutig identifizieren. Der Anbieter und der Name zusammen identifizieren eine Update-Familie, zum Beispiel alle Firmware-Versionen für ein Gerätemodell.
- Kompatibilitätseigenschaften: Die Geräteeigenschaften, die bestimmen, welche Geräte das Update installieren können. Weitere Informationen finden Sie unter Gerätekompatibilität.
- Installationsanweisungen: Die Installationsschritte, deren Reihenfolge und der Handler für jeden Schritt. Der Handler teilt dem Gerät mit, wie dieser Schritt angewendet werden soll, zum Beispiel durch das Installieren eines Pakets, das Ausführen eines Skripts oder das Schreiben eines Images.
- Dateimetadaten: Name, Größe und Hash jeder Aktualisierungsdatei. Der Dienst verwendet die Hashes, um die Dateiintegrität beim Import zu überprüfen, und das Gerät kann sie nutzen, um jede Datei vor der Installation zu überprüfen.
Jedes Software-Update erfordert ein Importmanifest. Wenn du versuchst, Update-Dateien ohne Import-Manifest zu importieren, schlägt der Import fehl. Beim Importieren kannst du die Update-Dateien optional auf Malware scannen. Malware-Scans sind in ausgewählten Regionen verfügbar. Für Schritt-für-Schritt-Anweisungen siehe Software-Update importieren.
Das folgende Beispiel zeigt ein Importmanifest für ein imagebasiertes Update:
{
"updateId": {
"provider": "Contoso",
"name": "IrrigationControllerV2-Image",
"version": "1.3.0"
},
"isDeployable": true,
"compatibility": [
{
"manufacturer": "Contoso",
"model": "IrrigationControllerV2"
}
],
"instructions": {
"steps": [
{
"type": "inline",
"description": "Update the device image to version 1.3.0",
"handler": "microsoft/swupdate:1",
"files": [
"contoso-irrigation-controller-v2-1.3.0.swu"
],
"handlerProperties": {
"installedCriteria": "1.3.0"
}
}
]
},
"files": [
{
"filename": "contoso-irrigation-controller-v2-1.3.0.swu",
"sizeInBytes": 112738816,
"hashes": {
"sha256": "wPdNKUSmWTZkR6Pum9oR/EIzdn5AvON4dsXME+/gHVw="
}
}
],
"createdDateTime": "2026-10-01T06:56:51.2002204Z",
"manifestVersion": "5.0"
}
Software-Updates verwenden dasselbe Import-Manifest-Format wie Device Update for IoT Hub. Um zu lernen, wie man ein Importmanifest erstellt, siehe:
Gerätekompatibilität
Die Kompatibilitätseigenschaften in einem Importmanifest bestimmen, welche Geräte ein Software-Update installieren können. Wenn ein Gerät auf Updates prüft, meldet es seine eigenen Kompatibilitätseigenschaften. Das Azure Device Registry vergleicht diese Eigenschaften mit den im Softwareupdate deklarierten Kompatibilitätseigenschaften.
Man definiert Kompatibilitätseigenschaften als Name-Wert-Paare. Jedes Softwareupdate muss mindestens eine Kompatibilitätseigenschaft deklarieren.
manufacturer und model sind gängige Optionen, aber sie sind nicht zwingend erforderlich. Verwenden Sie beliebige Eigenschaften, die zu Ihrer Flotte passen, wie zum Beispiel region oder environment.
Der compatibility Abschnitt des Importmanifests ist ein Array von Eigenschaftssätzen. Beispiele:
"compatibility": [
{
"manufacturer": "Contoso",
"model": "IrrigationControllerV2"
}
]
Das Matching funktioniert wie folgt:
- Ein Gerät muss mit jeder Eigenschaft in einer Menge übereinstimmen. Das vorherige Update gilt nur für Geräte, die sowohl
manufactureralsContosoals auchmodelalsIrrigationControllerV2melden. Sie gilt nicht für ein Contoso-GerätSoilSensorV1oder für einIrrigationControllerV2Gerät, das einen anderen Hersteller angibt. - Ein Gerät muss nur zu einem Set passen. Wenn Sie mehr als einen Eigenschaftssatz deklarieren, kann ein einziges Software-Update auf mehrere Gerätetypen angewendet werden.
- Jede Eigenschaftsmenge gehört zu einer Update-Familie. Sie können nicht genau denselben Satz von Kompatibilitätseigenschaften bei mehreren Kombinationen aus Updateanbieter und Name verwenden. Plane deine Update-Familien und Kompatibilitätseigenschaften gemeinsam. Weitere Informationen finden Sie unter Konzepte für den Import.
Eine Gruppe kann Geräte mit unterschiedlichen Kompatibilitätseigenschaften enthalten. Ein Software-Update-Job wendet das Update nur auf die kompatiblen Geräte in der Zielgruppe an. Wenn beispielsweise eine Gruppe 18 IrrigationControllerV2 Geräte und sechs SoilSensorV1 Geräte enthält, wird ein Update für IrrigationControllerV2 Geräte auf die 18 kompatiblen Geräte angewendet. Die sechs SoilSensorV1 Geräte sind nicht betroffen.
Tip
Geräte melden ihre Kompatibilitätseigenschaften an die Azure Device Registry, sodass Sie sie in einer Gruppenabfrage verwenden können, um Gruppen zu erstellen, die nur die Geräte enthalten, für die ein Update gilt.
Jobs, Gruppen und Rollout-Verhalten
Du deployest ein Software-Update, indem du einen Job im Namensraum erstellst. Software-Update unterstützt zwei Jobtypen:
| Auftragstyp | Target | Wann wird es verwendet? |
|---|---|---|
| Softwareupdate | Eine Azure-Geräteregistrierungs-Gruppe | Aktualisieren Sie registrierte Geräte, die bereits in Betrieb sind. Die Gruppe definiert den Geltungsbereich des Jobs, und Kompatibilitätseigenschaften bestimmen, welche Geräte in diesem Geltungsbereich das Update installieren. |
| Onboarding-Update | Der Azure Device Registry-Namensraum | Bringen Sie Geräte während des Onboardings auf eine erforderliche Softwareversion, bevor sie in Betrieb genommen werden. Verwenden Sie zum Beispiel ein Onboarding-Update für Geräte, die eine Zeit lang gelagert wurden und mit älterer Firmware ausgestattet sind. |
Ein Software-Update-Job stoppt nicht, nachdem er die Geräte erreicht hat, die bei seinem Start kompatibel sind. Während der Job-Run aktiv ist, wird das Update weiterhin angewendet auf:
- Geräte, die offline waren, als der Job begann, nachdem sie sich wieder verbunden haben und nach Updates gesucht haben.
- Geräte, die der Zielgruppe beitreten. Die Gruppenmitgliedschaft wird nicht automatisch aktualisiert: Neue Geräte treten der Gruppe beim nächsten Aktualisieren der Mitgliedschaft bei. Weitere Informationen finden Sie unter Zwischengespeicherte Mitgliedschaft und Aktualisieren.
- Geräte, die für das Update infrage kommen, zum Beispiel, weil sich ihre gemeldeten Kompatibilitätseigenschaften ändern.
Ein Onboarding-Update-Job bleibt aktiv, bis Sie ihn beenden, sodass kompatible Geräte das Update weiterhin erhalten, während sie eingebunden werden.
Für Job-Status, Terminplanung und Überwachung siehe Jobs-Konzepte (Vorschau).
Hinweise zum Geräte-SDK
Geräte erhalten Software-Updates über den Software-Updates-Client in den einheitlichen Azure IoT SDKs (Vorschau). Beachten Sie bei der Planung Ihrer Gerätesoftware folgende Überlegungen:
- Unterstützte Geräte: In dieser Vorschau ist der Software-Update-Client hauptsächlich für Linux-basierte Geräte mit mehr als 32 MB verfügbarem Speicher gedacht.
- Integration: Das SDK ist eine Bibliothek, kein einsatzbereiter Agent. Sie integrieren den Software-Update-Client in Ihre Geräteanwendung und stellen die Logik bereit, die Updates auf Ihre Hardware herunterlädt, installiert und anwendet. Microsoft stellt Ihnen Beispiele zur Verfügung, um Ihnen den Einstieg zu erleichtern.
- Zwei Möglichkeiten, nach Updates zu suchen: Ein Gerät, das eingebunden wird, überprüft Onboarding-Updates, bevor es registriert wird. Ein registriertes Gerät prüft im Rahmen eines Software-Update-Jobs auf Software-Updates. Ihre Geräteanwendung entscheidet, wann sie nach Updates sucht.
- Konnektivität: Das Gerät prüft Updates und meldet Ergebnisse über seine Device Provisioning Service-Verbindung. Es braucht keinen separaten Endpunkt oder eine separate Zugangsberechtigung, um Updates zu erhalten.
- Sicherheit: Bevor er Update-Dateien herunterlädt, überprüft der Software-Update-Client die Signatur der vom Dienst erhaltenen Update-Informationen. Geräte laden Update-Dateien nur über HTTPS herunter, daher werden Update-Inhalte während der Übertragung immer verschlüsselt. Stellen Sie sicher, dass Ihre Geräte ausgehende HTTPS-Verbindungen herstellen können, um Update-Dateien herunterzuladen.
- Statusbericht: Nach einem Installationsversuch meldet das Gerät das Ergebnis, einschließlich Fehlercodes, falls die Installation fehlgeschlagen ist. Das Ergebnis erscheint in den Ergebnissen auf Geräteebene der Jobausführung.
- Deine Verantwortung: Du bist verantwortlich für die Validierung der Integration in deiner eigenen Umgebung, einschließlich des Wiederherstellungsverhaltens, falls eine Installation fehlschlägt oder das Gerät während eines Updates neu startet.
Einschränkungen bei der Vorschau
Die aktuelle Vorschau hat die folgenden Einschränkungen:
- Software-Updates unterstützen IoT Hub-verbundene Geräte. Azure IoT Einsatz-Geräte und -Assets werden in dieser Vorschau nicht unterstützt.
- Man kann keine Software-Updates mit einem IoT Hub verwenden, der bereits eine Device Update für IoT Hub-Instanz hat.
- Jedes Software-Update erfordert ein Importmanifest. Du kannst kein Importmanifest im Azure-Portal erstellen.
- Der Software-Update-Client unterstützt derzeit keine Proxy-Updates oder Updates, die Referenzschritte (Parent- und Child-Updates) verwenden.
Für Grenzwerte, die für importierte Updates gelten, wie die maximale Update-Größe, siehe Device Update für IoT Hub-Grenzwerte. Für Einschränkungen, die für Gruppen und Jobs gelten, siehe Gruppenkonzepte (Vorschau) und Jobkonzepte (Vorschau).