Device Update - Import Update
Zaimportuj nową wersję aktualizacji. Jest to długotrwała operacja; użyj Operation-Location wartości nagłówka odpowiedzi, aby sprawdzić stan operacji.
POST https://{endpoint}/deviceUpdate/{instanceId}/updates:import?api-version=2026-06-01
Parametry identyfikatora URI
| Nazwa | W | Wymagane | Typ | Opis |
|---|---|---|---|---|
|
endpoint
|
path | True |
string (url) |
Punkt końcowy konta usługi Device Update dla usługi IoT Hub (tylko nazwa hosta, brak protokołu). |
|
instance
|
path | True |
string |
Identyfikator wystąpienia konta usługi IoT Hub w usłudze Device Update. |
|
api-version
|
query | True |
string minLength: 1 |
Wersja interfejsu API do użycia dla tej operacji. |
Treść żądania
| Nazwa | Typ | Opis |
|---|---|---|
| updateToImport |
Aktualizacja do zaimportowania (zobacz https://json.schemastore.org/azure-deviceupdate-import-manifest-5.0.json schematu, aby uzyskać szczegółowe informacje). |
Odpowiedzi
| Nazwa | Typ | Opis |
|---|---|---|
| 200 OK |
Żądanie zakończyło się pomyślnie. |
|
| 202 Accepted |
Żądanie zostało zaakceptowane do przetwarzania, ale przetwarzanie nie zostało jeszcze ukończone. Nagłówki Operation-Location: string |
|
| Other Status Codes |
Nieoczekiwana odpowiedź na błąd. |
Zabezpieczenia
OAuth2Auth
Typ:
oauth2
Flow:
implicit
Adres URL autoryzacji:
https://login.microsoftonline.com/common/oauth2/authorize
Zakresy
| Nazwa | Opis |
|---|---|
| https://api.adu.microsoft.com/.default |
Przykłady
DeviceUpdate_ImportUpdate
Przykładowe żądanie
POST https://contoso.api.adu.microsoft.com/deviceUpdate/blue/updates:import?api-version=2026-06-01
[
{
"importManifest": {
"url": "http://test.blob.core.windows.net/test/uploadimportMan.json",
"sizeInBytes": 816,
"hashes": {
"sha256": "O19LyyncPe1AGstOdkcmozLV8pSbBdqrE18HdYVohRc="
}
},
"files": [
{
"filename": "file1.bin",
"url": "http://test.blob.core.windows.net/test/upload1v5uww1q"
},
{
"filename": "file2.bin",
"url": "http://test.blob.core.windows.net/test/uploadkrmn5yw0"
},
{
"filename": "file3.bin",
"url": "http://test.blob.core.windows.net/test/uploaddq52ky5m"
}
]
}
]
Przykładowa odpowiedź
Operation-Location: /deviceUpdate/blue/updates/operations/e4491c54-916f-443d-9094-bcca546ace2f?api-version=2026-06-01
{
"updateId": {
"provider": "microsoft",
"name": "adu",
"version": "1.0.0.0"
},
"friendlyName": "Lab Sensor Update v1",
"description": "Fix for critical vulnerability",
"compatibility": [
{
"deviceManufacturer": "Microsoft",
"deviceModel": "Toaster"
}
],
"instructions": {
"steps": [
{
"description": "pre-install script",
"handler": "microsoft/script:1",
"handlerProperties": {
"arguments": "--pre-install"
},
"files": [
"configure.sh"
]
},
{
"type": "reference",
"updateId": {
"provider": "microsoft",
"name": "sensor",
"version": "1.0"
}
}
]
},
"manifestVersion": "5.0",
"importedDateTime": "2020-04-22T14:01:43.8408797-07:00",
"createdDateTime": "2019-09-11T17:00:00-07:00",
"etag": "\"3fed3378-0c67-47d2-b796-296962c66cbb\""
}
Definicje
| Nazwa | Opis |
|---|---|
| Error |
Szczegóły błędu. |
|
Error |
Typowa odpowiedź na błąd. |
|
File |
Metadane opisujące plik aktualizacji. |
|
Import |
Metadane opisujące manifest importu, dokument opisujący pliki i inne metadane dotyczące wersji aktualizacji. |
|
Import |
Zaimportuj metadane elementu wejściowego aktualizacji. |
|
Inner |
Obiekt zawierający bardziej szczegółowe informacje niż bieżący obiekt o błędzie. |
| Instructions |
Aktualizacja instrukcji instalacji kontener. |
| Step |
Aktualizowanie kroku instrukcji instalacji. |
|
Step |
Typ kroku. |
| Update |
Aktualizowanie metadanych. |
|
Update |
Aktualizowanie identyfikatora. |
Error
Szczegóły błędu.
| Nazwa | Typ | Opis |
|---|---|---|
| code |
string |
Kod błędu zdefiniowany przez serwer. |
| details |
Error[] |
Tablica błędów, które doprowadziły do zgłoszonego błędu. |
| innererror |
Obiekt zawierający bardziej szczegółowe informacje niż bieżący obiekt o błędzie. |
|
| message |
string |
Czytelna dla człowieka reprezentacja błędu. |
| occurredDateTime |
string (date-time) |
Data i godzina w formacie UTC, kiedy wystąpił błąd. |
| target |
string |
Element docelowy błędu. |
ErrorResponse
Typowa odpowiedź na błąd.
| Nazwa | Typ | Opis |
|---|---|---|
| error |
Szczegóły błędu. |
FileImportMetadata
Metadane opisujące plik aktualizacji.
| Nazwa | Typ | Opis |
|---|---|---|
| filename |
string |
Zaktualizuj nazwę pliku zgodnie z określonymi w manifeście importu. |
| url |
string |
Lokalizacja obiektu blob platformy Azure, z której można pobrać plik aktualizacji przez usługę Device Update dla usługi IoT Hub. Zazwyczaj jest to adres URL obiektu blob chronionego tylko do odczytu z wygaśnięciem ustawionym na co najmniej 4 godziny. |
ImportManifestMetadata
Metadane opisujące manifest importu, dokument opisujący pliki i inne metadane dotyczące wersji aktualizacji.
| Nazwa | Typ | Opis |
|---|---|---|
| hashes |
object |
Obiekt JSON zawierający skrót (es) pliku. Wymagany jest co najmniej skrót SHA256. Ten obiekt można traktować jako zestaw par klucz-wartość, w których klucz jest algorytmem wyznaczania wartości skrótu, a wartość jest skrótem pliku obliczanego przy użyciu tego algorytmu. |
| sizeInBytes |
integer (int64) |
Rozmiar pliku w liczbie bajtów. |
| url |
string |
Lokalizacja obiektu blob platformy Azure, z której manifest importu można pobrać za pomocą usługi Device Update dla usługi IoT Hub. Zazwyczaj jest to adres URL obiektu blob chronionego tylko do odczytu z wygaśnięciem ustawionym na co najmniej 4 godziny. |
ImportUpdateInputItem
Zaimportuj metadane elementu wejściowego aktualizacji.
| Nazwa | Typ | Opis |
|---|---|---|
| files |
Co najmniej jedna właściwości pliku aktualizacji, takie jak nazwa pliku i adres URL źródła. |
|
| friendlyName |
string minLength: 1maxLength: 512 |
Przyjazna nazwa aktualizacji. |
| importManifest |
Zaimportuj metadane manifestu, takie jak adres URL źródła, rozmiar pliku/skróty itp. |
InnerError
Obiekt zawierający bardziej szczegółowe informacje niż bieżący obiekt o błędzie.
| Nazwa | Typ | Opis |
|---|---|---|
| code |
string |
Bardziej szczegółowy kod błędu niż podany przez błąd zawierający. |
| errorDetail |
string |
Wewnętrzny komunikat o błędzie lub wyjątku. |
| innerError |
Obiekt zawierający bardziej szczegółowe informacje niż bieżący obiekt o błędzie. |
|
| message |
string |
Czytelna dla człowieka reprezentacja błędu. |
Instructions
Aktualizacja instrukcji instalacji kontener.
| Nazwa | Typ | Opis |
|---|---|---|
| steps |
Step[] |
Kolekcja kroków instalacji. |
Step
Aktualizowanie kroku instrukcji instalacji.
| Nazwa | Typ | Domyślna wartość | Opis |
|---|---|---|---|
| description |
string minLength: 1maxLength: 64 |
Opis kroku. |
|
| files |
string[] |
Kolekcja nazw plików, które mają zostać przekazane do programu obsługi podczas wykonywania. Wymagane, jeśli typ kroku jest wbudowany. |
|
| handler |
string minLength: 1maxLength: 32 |
Tożsamość programu obsługi, która wykona ten krok. Wymagane, jeśli typ kroku jest wbudowany. |
|
| handlerProperties |
Parametry, które mają być przekazywane do programu obsługi podczas wykonywania. |
||
| type | inline |
Typ kroku. |
|
| updateId |
Przywołyliśmy tożsamość aktualizacji podrzędnej. Wymagane, jeśli typ kroku jest odwołaniem. |
StepType
Typ kroku.
| Wartość | Opis |
|---|---|
| inline |
Typ kroku, który wykonuje wykonywanie kodu. |
| reference |
Typ kroku, który instaluje kolejną aktualizację. |
Update
Aktualizowanie metadanych.
| Nazwa | Typ | Domyślna wartość | Opis |
|---|---|---|---|
| compatibility |
object[] |
Lista informacji o zgodności aktualizacji. |
|
| createdDateTime |
string (date-time) |
Data i godzina w formacie UTC utworzenia aktualizacji. |
|
| description |
string minLength: 1maxLength: 512 |
Opis aktualizacji określony przez twórcę. |
|
| etag |
string |
Zaktualizuj element ETag. |
|
| friendlyName |
string minLength: 1maxLength: 512 |
Przyjazna nazwa aktualizacji określona przez importera. |
|
| importedDateTime |
string (date-time) |
Data i godzina w formacie UTC podczas importowania aktualizacji. |
|
| installedCriteria |
string |
Ciąg interpretowany przez klienta usługi Device Update w celu określenia, czy aktualizacja jest zainstalowana na urządzeniu. Przestarzałe w najnowszym schemacie manifestu importu. |
|
| instructions |
Aktualizowanie instrukcji instalacji. |
||
| isDeployable |
boolean |
True |
Czy aktualizację można wdrożyć na urządzeniu samodzielnie. |
| manifestVersion |
string |
Wersja schematu manifestu używana do importowania aktualizacji. |
|
| referencedBy |
Update |
Lista tożsamości aktualizacji odwołujących się do tej aktualizacji. |
|
| scanResult |
string |
Aktualizuj wynik skanowania agregacji (obliczony na podstawie wyników skanowania pliku ładunku). |
|
| updateId |
Aktualizowanie tożsamości. |
||
| updateType |
string |
Typ aktualizacji. Przestarzałe w najnowszym schemacie manifestu importu. |
UpdateId
Aktualizowanie identyfikatora.
| Nazwa | Typ | Opis |
|---|---|---|
| name |
string |
Zaktualizuj nazwę. |
| provider |
string |
Dostawca aktualizacji. |
| version |
string |
Zaktualizuj wersję. |