Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Använd Programuppdateringar, en funktion i Azure Device Registry, för att leverera trådlösa uppdateringar till dina enheter i stor skala. Importera uppdateringar till en Azure Device Registry-namnrymd och använd sedan jobb och grupper i den namnrymden för att distribuera dem till enheter.
Important
Mjukvaruuppdateringar för Azure Device Registry är för närvarande i förhandsversion. Den nuvarande förhandsvisningen är begränsad till IoT Hub-anslutna enheter. Använd inte förhandsgranskningsfunktioner för produktionsarbetslaster. För produktionsarbetsbelastningar, fortsätt använda Device Update för IoT Hub, som fortfarande är allmänt tillgänglig.
Se Tilläggsvillkor för användning av Microsoft Azure-förhandsversioner för juridiska villkor som gäller för Azure-funktioner som är i beta, förhandsvisning eller på annat sätt ännu inte släppta för allmän tillgänglighet.
Tjänst tillämplighet
| Feature | Azure IoT-åtgärder | Azure IoT Hub |
|---|---|---|
| Programuppdateringar | Ej tillämpligt | Preview |
Mjukvaruuppdateringar och enhetsuppdateringar för IoT Hub
Mjukvaruuppdateringar tillför OTA-uppdateringsfunktioner till Azure Device Registry. Det använder samma importmanifestformat som Device Update för IoT Hub, och låter dig hantera uppdateringar på namnrymdsnivå genom att använda Azure Device Registry-grupper och jobb.
Använd följande vägledning för att välja rätt alternativ:
| Om du... | Använd |
|---|---|
| Behöver trådlösa uppdateringar för produktionsarbetslaster | Enhetsuppdatering för IoT Hub, som fortfarande är allmänt tillgänglig och stödd. |
| Vill du utvärdera hantering av uppdateringar genom Azure Device Registry-namnrymder, grupper och jobb | Programvaruuppdateringar (förhandsversion), som beskrivs i den här artikeln. |
Tänk på följande överväganden om du redan använder Device Update för IoT Hub:
- Du kan inte använda båda på samma IoT-hubb. I denna förhandsvisning kan du använda mjukvaruuppdateringar endast med IoT-hubbar som inte har en befintlig Device Update for IoT Hub-instans. För att prova mjukvaruuppdateringar, koppla en IoT hub som inte använder Device Update for IoT Hub till ditt namnområde.
- Enheter använder en annan klient. Enheter som kör Device Update-agenten kan inte ta emot uppdateringar via programuppdateringar. För att ta emot mjukvaruuppdateringar använder en enhet mjukvaruuppdateringsklienten i de enhetliga Azure IoT SDK:erna (förhandsvisning).
Hur mjukvaruuppdateringar fungerar
Du aktiverar mjukvaruuppdateringar i en Azure Device Registry-namnrymd, antingen när du sätter upp namnrymden eller senare. För att lära dig hur, se Kom igång med Azure Device Registry (förhandsvisning). Funktionen introducerar följande komponenter:
- Programvaruuppdatering: En uppdatering som du importerar till en namnrymd. En mjukvaruuppdatering består av en eller flera uppdateringsfiler och ett importmanifest. Efter att du importerat en mjukvaruuppdatering finns den tillgänglig för mjukvaruuppdateringsjobb och onboarding-uppdateringsjobb i den namnrymden.
- Programuppdateringsjobb: Installerar en mjukvaruuppdatering på kompatibla enheter i en målgrupp.
- Onboarding-uppdateringsjobb: Applicerar en mjukvaruuppdatering på kompatibla enheter när de kontrollerar efter uppdateringar under onboarding, innan de registreras och börjar fungera.
- Programuppdateringsklient: Den del av de enhetliga Azure IoT SDK:erna (förhandsvisning) som din enhetsapplikation använder för att söka efter, ladda ner och installera mjukvaruuppdateringar samt för att rapportera resultaten.
Ett typiskt uppdateringsflöde ser ut så här:
- Du laddar upp uppdateringsfilerna och importmanifestet till en Azure Storage-container.
- Importera mjukvaruuppdateringen till ditt namnområde.
- Du skapar ett jobb som riktar sig mot en grupp eller, för onboarding, namnrymden.
- Varje enhet kontrollerar efter uppdateringar och rapporterar sina kompatibilitetsegenskaper. Om enheten är kompatibel får den uppdateringen.
- Enheten laddar ner och installerar uppdateringen, och rapporterar sedan resultatet. Du övervakar framsteg och resultat på enhetsnivå under jobbkörningen.
Programuppdateringar
En mjukvaruuppdatering består av två komponenter som du laddar upp tillsammans:
- Uppdatera filer: Den nyttolast som enheten installerar. Payloaden kan vara en firmware-avbildning, ett mjukvarupaket, ett skript eller flera relaterade filer.
-
Importmanifest: En JSON-fil med tillägget
.importmanifest.jsonsom beskriver uppdateringen. Importmanifestet anger:- Uppdateringsidentitet: Leverantören, namnet och versionen som unikt identifierar uppdateringen. Leverantören och namnet tillsammans identifierar en uppdateringsfamilj, till exempel alla versioner av firmware för en enhetsmodell.
- Kompatibilitetsegenskaper: Enhetsegenskaperna som avgör vilka enheter som kan installera uppdateringen. För mer information, se Enhetskompatibilitet.
- Installationsinstruktioner: Installationsstegen, deras ordning och handlern för varje steg. Hanteraren talar om för enheten hur det steget ska tillämpas, till exempel genom att installera ett paket, köra ett skript eller skriva en avbildning.
- Filmetadata: Namn, storlek och hash för varje uppdateringsfil. Tjänsten använder hasharna för att verifiera filintegriteten vid import, och enheten kan använda dem för att verifiera varje fil före installation.
Varje mjukvaruuppdatering kräver ett importmanifest. Om du försöker importera uppdateringsfiler utan ett importmanifest misslyckas importen. När du importerar kan du valfritt skanna uppdateringsfilerna efter skadlig kod. Skadlig kodskanning finns tillgänglig i utvalda regioner. För steg-för-steg-instruktioner, se Importera en mjukvaruuppdatering.
Följande exempel visar ett importmanifest för en bildbaserad uppdatering:
{
"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"
}
Programvaruuppdateringar använder samma importmanifestformat som Device Update för IoT Hub. För att lära dig hur man skapar ett importmanifest, se:
Enhetskompatibilitet
Kompatibilitetsegenskaperna i ett importmanifest avgör vilka enheter som kan installera en mjukvaruuppdatering. När en enhet kontrollerar efter uppdateringar rapporterar den sina egna kompatibilitetsegenskaper. Azure Device Registry jämför dessa egenskaper med kompatibilitetsegenskaperna som deklarerats i mjukvaruuppdateringen.
Du definierar kompatibilitetsegenskaper som namn-värde-par. Varje programuppdatering måste deklarera minst en kompatibilitetsegenskap.
manufacturer och model är vanliga val, men de är inte obligatoriska. Använd vilka egenskaper som helst som passar din flotta, såsom region eller environment.
Sektionen compatibility i importmanifestet är en array av egenskapsmängder. Ett exempel:
"compatibility": [
{
"manufacturer": "Contoso",
"model": "IrrigationControllerV2"
}
]
Matchning fungerar enligt följande:
- En enhet måste matcha varje egenskap i en uppsättning. Den föregående uppdateringen gäller endast enheter som rapporterar både
manufacturersomContosoochmodelsomIrrigationControllerV2. Det gäller inte en Contoso-enhetSoilSensorV1, eller enIrrigationControllerV2enhet som rapporterar en annan tillverkare än Contoso. - En enhet behöver bara matcha ett set. Om du deklarerar mer än en egenskapsuppsättning kan en enda mjukvaruuppdatering tillämpas på flera enhetstyper.
- Varje egenskapsuppsättning tillhör en uppdateringsfamilj. Du kan inte använda exakt samma uppsättning kompatibilitetsegenskaper med mer än en kombination av leverantör och namn. Planera dina uppdateringsfamiljer och kompatibilitetsegenskaper tillsammans. För mer information, se importbegrepp.
En grupp kan innehålla enheter med olika kompatibilitetsegenskaper. Ett mjukvaruuppdateringsjobb tillämpar uppdateringen endast på de kompatibla enheterna i målgruppen. Till exempel, om en grupp innehåller 18 IrrigationControllerV2 enheter och sex SoilSensorV1 enheter, tillämpas en uppdatering för IrrigationControllerV2 enheter på de 18 kompatibla enheterna. De sex SoilSensorV1 enheterna påverkas inte.
Tip
Enheter rapporterar sina kompatibilitetsegenskaper till Azure Device Registry, så du kan använda dem i en gruppfråga för att skapa grupper som endast innehåller de enheter en uppdatering gäller för.
jobb, grupper och beteende vid utrullning
Du distribuerar en mjukvaruuppdatering genom att skapa ett jobb i namnrymden. Programuppdateringar stöder två uppgiftstyper:
| Jobbtyp | Target | När du ska använda detta |
|---|---|---|
| Programuppdatering | En Azure Device Registry-grupp | Uppdatera registrerade enheter som redan är i drift. Gruppen definierar jobbets omfattning, och kompatibilitetsegenskaper avgör vilka enheter i den omfattningen som installerar uppdateringen. |
| Uppdatering om onboarding | Azure Device Registry-namnrymd | Uppdatera enheterna till den erforderliga programvaruversionen när de onboardas, innan de tas i drift. Till exempel, använd en onboarding-uppdatering för enheter som har varit lagrade och kör äldre firmware. |
Ett programuppdateringsjobb slutar inte när det når de enheter som är kompatibla när jobbet startar. Medan jobbkörningen är aktiv fortsätter den att tillämpa uppdateringen på:
- Enheter som var offline när jobbet började, efter att de återanslutit och sökt efter uppdateringar.
- Enheter som går med i målgruppen. Gruppmedlemskap uppdateras inte automatiskt: nya enheter går med i gruppen nästa gång du uppdaterar gruppens medlemskap. För mer information, se cachelagrat medlemskap och uppdatering.
- Enheter som kvalificerar sig för uppdateringen, till exempel eftersom deras rapporterade kompatibilitetsegenskaper ändras.
Ett onboarding-uppdateringsjobb förblir aktivt tills du avslutar det, så kompatibla enheter fortsätter att få uppdateringen när de registreras.
För jobbtillstånd, schemaläggning och övervakning, se Begrepp för jobb (förhandsvisning).
Överväganden för Device SDK
Enheter får mjukvaruuppdateringar via klienten för mjukvaruuppdateringar i de enhetliga Azure IoT SDK:erna (förhandsvisning). Tänk på följande överväganden när du planerar din enhetsprogramvara:
- Stödda enheter: I denna förhandsvisning är programuppdateringsklienten främst avsedd för Linux-baserade enheter med mer än 32 MB tillgängligt minne.
- Integration: SDK:n är ett bibliotek, inte en körklar agent. Du integrerar mjukvaruuppdateringsklienten i din enhetsapplikation och tillhandahåller logiken som laddar ner, installerar och applicerar uppdateringar på din hårdvara. Microsoft tillhandahåller exempel för att hjälpa dig komma igång.
- Två sätt att kontrollera efter uppdateringar: En enhet som är på väg att onboardas kontrollerar onboarding-uppdateringar innan den registreras. En registrerad enhet kontrollerar efter mjukvaruuppdateringar från ett jobb för mjukvaruuppdatering. Din enhetsapplikation bestämmer när den ska kontrollera efter uppdateringar.
- Anslutning: Enheten kontrollerar efter uppdateringar och rapporterar resultat via sin Device Provisioning Service-anslutning. Den behöver ingen separat endpoint eller autentiseringsuppgift för att ta emot uppdateringar.
- Säkerhet: Innan den laddar ner några uppdateringsfiler verifierar programuppdateringsklienten signaturen på den uppdateringsinformation den får från tjänsten. Enheter laddar ner uppdateringsfiler endast via HTTPS, så uppdateringsinnehållet är alltid krypterat under överföring. Se till att dina enheter kan göra utgående HTTPS-anslutningar för att ladda ner uppdateringsfiler.
- Statusrapportering: Efter ett installationsförsök rapporterar enheten resultatet, inklusive felkoder om installationen misslyckades. Resultatet visas i enhetsnivåresultaten för jobbkörningen.
- Ditt ansvar: Du är ansvarig för att validera integrationen i din egen miljö, inklusive återställningsbeteende om en installation misslyckas eller enheten startar om under en uppdatering.
Begränsningar i förhandsversionen
Den aktuella förhandsversionen har följande begränsningar:
- Mjukvaruuppdateringar har stöd för IoT Hub-anslutna enheter. Azure IoT Operations-enheter och tillgångar stöds inte i denna förhandsvisning.
- Du kan inte använda mjukvaruuppdateringar med en IoT hub som har en befintlig Device Update för IoT Hub-instans.
- Varje mjukvaruuppdatering kräver ett importmanifest. Du kan inte skapa ett importmanifest i Azure-portalen.
- Programvaruuppdateringsklienten stöder för närvarande inte proxyuppdateringar eller uppdateringar som använder referenssteg (föräldra- och barnuppdateringar).
För begränsningar som gäller för importerade uppdateringar, såsom maximal uppdateringsstorlek, se Device Update for IoT Hub limits. För begränsningar som gäller grupper och jobb, se Gruppkoncept (förhandsvisning) och Jobbkoncept (förhandsgranskning).