You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/iot-hub-device-update/import-schema.md
+16-16Lines changed: 16 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,17 +3,17 @@ title: Import manifest schema for Azure Device Update for IoT Hub
3
3
description: Understand the schema used to create the required import manifest for importing updates into Azure Device Update for IoT Hub.
4
4
author: andrewbrownmsft
5
5
ms.author: andbrown
6
-
ms.date: 01/02/2025
6
+
ms.date: 01/03/2025
7
7
ms.topic: concept-article
8
8
ms.service: azure-iot-hub
9
9
ms.subservice: device-update
10
10
---
11
11
12
12
# Azure Device Update for IoT Hub import manifest schema
13
13
14
-
When you import an update into Azure Device Update for Iot Hub, you submit a JSON import manifest file along with the update payload that defines important information about the update. This article describes the schema used to create the JSON import manifest file.
14
+
When you import an update into Azure Device Update for Iot Hub, you also submit an associated JSON import manifest file that defines important information about the update. This article describes the schema used to create the JSON import manifest file.
15
15
16
-
To learn more about import manifest concepts and file structure, see [Azure Device Update for IoT Hub import manifest](import-concepts.md). To learn how to create the file, see [Prepare an update to import into Device Update for IoT Hub](import-update.md).
16
+
To learn more about import manifest concepts and file structure, see [Azure Device Update for IoT Hub import manifest concepts](import-concepts.md). To learn how to create the file, see [Prepare an update to import into Device Update for IoT Hub](import-update.md).
17
17
18
18
## Schema
19
19
@@ -37,9 +37,9 @@ The `updateID` object is a unique identifier for each update.
37
37
38
38
|Property|Type|Description|Required|
39
39
|---|---|---|---|
40
-
|**provider**|`string`|Entity who is creating or directly responsible for the update. It can be a company name.<br><br>Pattern: `^[a-zA-Z0-9.-]+$`<br>Maximum length: 64 characters|Yes|
41
-
|**name**|`string`|Identifier for a class of update. It can be a device class or model name.<br><br>Pattern: `^[a-zA-Z0-9.-]+$`<br>Maximum length: 64 characters|Yes|
42
-
|**version**|`string`|Two- to four-part dot-separated numerical version numbers. Each part must be a number between 0 and 2147483647, and leading zeroes are dropped.<br><br>Pattern: `^\d+(?:\.\d+)+$`<br>Examples: `"1.0"`, `"2021.11.8"`|Yes|
40
+
|**provider**|`string`|Entity who is creating or directly responsible for the update. It can be a company name.<br>Pattern: `^[a-zA-Z0-9.-]+$`<br>Maximum length: 64 characters|Yes|
41
+
|**name**|`string`|Identifier for a class of update. It can be a device class or model name.<br>Pattern: `^[a-zA-Z0-9.-]+$`<br>Maximum length: 64 characters|Yes|
42
+
|**version**|`string`|Two- to four-part dot-separated numerical version numbers. Each part must be a number between 0 and 2147483647, and leading zeroes are dropped.<br>Pattern: `^\d+(?:\.\d+)+$`<br>Examples: `"1.0"`, `"2021.11.8"`|Yes|
43
43
44
44
No other properties are allowed.
45
45
@@ -57,7 +57,7 @@ For example:
57
57
58
58
### Compatibility object
59
59
60
-
The `compatibility` object describes 1-5 properties of a device that this update is compatible with. Each property is a name-value pair of type string. The name must be 1-32 characters long and the value must be 1-64 characters long. You can't use the same exact set of compatibility properties with more than one update provider and name combination.
60
+
The `compatibility` object describes 1-5 properties of a device that this update is compatible with. Each property is a `string` type name-value pair. The name must be 1-32 characters long and the value must be 1-64 characters long. You can't use the same exact set of compatibility properties with more than one update provider and name combination.
61
61
62
62
For example:
63
63
@@ -108,9 +108,9 @@ An `inline` step object is an installation instruction step that performs code e
108
108
|Property|Type|Description|Required|
109
109
|---|---|---|---|
110
110
|**type**|`string`|Instruction step type that performs code execution. Must be `inline`.|No|
111
-
|**description**|`string`|Optional instruction step description. Maximum length: 64 characters|No|
111
+
|**description**|`string`|Optional instruction step description. Maximum length: 64 characters.|No|
112
112
|**handler**|`string`|Identity of the handler on the device that can execute this step.<br>Pattern: `^\S+/\S+:\d{1,5}$`<br>Minimum length: Five characters<br>Maximum length: 32 characters<br>Examples: `microsoft/script:1`, `microsoft/swupdate:1`, `microsoft/apt:1`|Yes|
113
-
|**files**|`string``[1-10]`| Names of update files defined as [file objects](#file-object) that the agent passes to the handler. Each element length must be 1-255 characters. |Yes|
113
+
|**files**|`string``[1-10]`| Names of update files defined as [file objects](#files-object) that the agent passes to the handler. Each element length must be 1-255 characters. |Yes|
114
114
|**handlerProperties**|`inlineStepHandlerProperties`|JSON objects that the agent passes to the handler as arguments.|No|
115
115
116
116
No other properties are allowed.
@@ -136,7 +136,7 @@ For example:
136
136
137
137
#### Reference step object
138
138
139
-
A *reference* step object is an installation instruction step that installs another update.
139
+
A `reference` step object is an installation instruction step that installs another update.
140
140
141
141
|Property|Type|Description|Required|
142
142
|---|---|---|---|
@@ -169,10 +169,10 @@ Each *file* object is an update payload file, such as a binary, firmware, or scr
169
169
170
170
|Property|Type|Description|Required|
171
171
|---|---|---|---|
172
-
|**filename**|`string`|Update payload file name. Maximum length: 255 characters|Yes|
173
-
|**sizeInBytes**|`number`|File size in number of bytes. Maximum size: 2147483648 bytes|Yes|
172
+
|**filename**|`string`|Update payload file name. Maximum length: 255 characters.|Yes|
173
+
|**sizeInBytes**|`number`|File size in number of bytes. Maximum size: 2147483648 bytes.|Yes|
174
174
|**hashes**|`fileHashes`|Base64-encoded file hashes with the algorithm name as key. For more information, see [fileHashes object](#filehashes-object). |Yes|
175
-
|**relatedFiles**|`relatedFile[0-4]`|Collection of files related to one or more of your primary payload files. |No|
175
+
|**relatedFiles**|`relatedFile[0-4]`|Collection of files related to one or more primary payload files. |No|
176
176
|**downloadHandler**|`downloadHandler`|Specifies how to process any related files. |Yes if using `relatedFiles`|
177
177
178
178
No other properties are allowed.
@@ -193,7 +193,7 @@ For example:
193
193
194
194
#### fileHashes object
195
195
196
-
The `fileHashes` object contains base64-encoded file hashes with the algorithm names as keys. At least the SHA-256 algorithm must be specified, and other algorithms may be specified if supported by the agent. For an example of how to calculate the hash correctly, see the `Get-AduFileHashes` function in the [AduUpdate.psm1 script](https://github.com/Azure/iot-hub-device-update/blob/main/tools/AduCmdlets/AduUpdate.psm1).
196
+
The `hashes` object contains base64-encoded file hashes with the algorithm names as keys. At least the SHA-256 algorithm must be specified, and other algorithms may be specified if supported by the agent. For an example of how to calculate the hash correctly, see the `Get-AduFileHashes` function in the [AduUpdate.psm1 script](https://github.com/Azure/iot-hub-device-update/blob/main/tools/AduCmdlets/AduUpdate.psm1).
197
197
198
198
|Property|Type|Description|Required|
199
199
|---|---|---|---|
@@ -213,13 +213,13 @@ For example:
213
213
214
214
#### relatedFiles object
215
215
216
-
The `relatedFiles` object contains a collection of files that are related to one or more of your primary payload files. For more information, see [Use the related files feature to reference multiple update files](related-files.md).
216
+
The `relatedFiles` object contains a collection of files that are related to one or more primary payload files. For more information, see [Use the related files feature to reference multiple update files](related-files.md).
217
217
218
218
219
219
|Property|Type|Description|Required|
220
220
|---|---|---|---|
221
221
|**filename**|`string`|List of related files associated with a primary payload file.|Yes|
222
-
|**sizeInBytes**|`number`|File size in number of bytes. Maximum size: 2147483648 bytes|Yes|
222
+
|**sizeInBytes**|`number`|File size in number of bytes. Maximum size: 2147483648 bytes.|Yes|
223
223
|**hashes**|`fileHashes`|Base64-encoded file hashes with algorithm name as key. For more information, see [fileHashes object](#filehashes-object). |Yes|
224
224
|**properties**|`relatedFilesProperties``[0-5]`|Up to five key-value pairs, where the key is limited to 64 ASCII characters and the value is a JObject with up to 256 ASCII characters. |No|
Copy file name to clipboardExpand all lines: articles/iot-hub-device-update/import-update.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,15 +3,15 @@ title: Import an update to Azure Device Update for IoT Hub
3
3
description: Learn how to import update files into Azure Device Update for IoT Hub by using the Azure portal, Azure CLI, or programmatically.
4
4
author: andrewbrownmsft
5
5
ms.author: andbrown
6
-
ms.date: 01/02/2025
6
+
ms.date: 01/03/2025
7
7
ms.topic: how-to
8
8
ms.service: azure-iot-hub
9
9
ms.subservice: device-update
10
10
---
11
11
12
12
# Import an update to Azure Device Update for IoT Hub
13
13
14
-
To deploy an update to devices using Azure Device Update for IoT Hub, you first import the update files into the Device Update service, which stores the imported update and deploys it to devices. In this article, you learn how to import an update into the Device Update service by using the Azure portal, Azure CLI, or Device Update APIs.
14
+
To deploy an update to devices using Azure Device Update for IoT Hub, you first import the update files into the Device Update service, which stores the imported update for deployment to devices. In this article, you learn how to import an update into the Device Update service by using the Azure portal, Azure CLI, or Device Update APIs.
15
15
16
16
## Prerequisites
17
17
@@ -22,7 +22,7 @@ To deploy an update to devices using Azure Device Update for IoT Hub, you first
22
22
23
23
This section shows how to import an update using either the Azure portal or the Azure CLI. You can also [import an update by using the Device Update APIs](#import-using-the-device-update-apis) instead.
24
24
25
-
To import an update, you first upload the update files and import manifest into an Azure Storage container. Then, you import the update from Azure Storage into Device Update for IoT Hub, which stores for deployment to devices.
25
+
To import an update, you first upload the update and import manifest files into an Azure Storage container. Then, you import the update from Azure Storage into Device Update for IoT Hub, which stores it for deployment to devices.
26
26
27
27
# [Azure portal](#tab/portal)
28
28
@@ -46,15 +46,15 @@ To import an update, you first upload the update files and import manifest into
46
46
:::image type="content" source="media/import-update/storage-account-ppr.png" alt-text="Screenshot that shows Storage accounts and Containers.":::
47
47
48
48
> [!TIP]
49
-
> To avoid accidentally importing files from previous updates, use a new container each time you import an update. If you don't use a new container, be sure to delete any files from the existing container.
49
+
> Using a new container each time you import an update helps prevent accidentally importing files from previous updates. If you don't use a new container, be sure to delete any previous files from the existing container.
50
50
51
51
1. On the container page, select **Upload**.
52
52
53
-
:::image type="content" source="media/import-update/container-ppr.png" alt-text="Screenshot that shows select Upload." lightbox="media/import-update/container-ppr.png":::
53
+
:::image type="content" source="media/import-update/container-ppr.png" alt-text="Screenshot that shows select Upload.":::
54
54
55
-
1. On the **Upload blob** screen, select the folder icon next to the **Files**. Use the file picker to navigate to the location of your update files and import manifest, select the files, and then select **Open**. You can use the Shift key to multiselect files.
55
+
1. On the **Upload blob** screen, select the folder icon next to the **Files**. Use the file picker to navigate to the location of your update and import manifest files, select the files, and then select **Open**. You can use the Shift key to multiselect files.
56
56
57
-
:::image type="content" source="media/import-update/container-picker-ppr.png" alt-text="Screenshot that shows selecting files to upload." lightbox="media/import-update/container-picker-ppr.png":::
57
+
:::image type="content" source="media/import-update/container-picker-ppr.png" alt-text="Screenshot that shows selecting files to upload.":::
58
58
59
59
1. After you select all the files, select **Upload**.
60
60
@@ -152,9 +152,9 @@ az iot du update list \
152
152
153
153
You can also import an update programmatically by using any of the following methods:
154
154
155
-
- The Device Update APIs in the Azure SDKs for [.NET](/dotnet/api/azure.iot.deviceupdate), [Java](/java/api/com.azure.iot.deviceupdate), [JavaScript](/javascript/api/@azure/iot-device-update), or [Python](/python/api/azure-mgmt-deviceupdate/azure.mgmt.deviceupdate).
156
-
- The Device Update [Import Update](/rest/api/deviceupdate/dataplane/updates/import-update) REST API.
157
-
- Sample [PowerShell modules](https://github.com/Azure/iot-hub-device-update/tree/main/tools/AduCmdlets) (requires [PowerShell 5](/powershell/scripting/install/installing-powershell) or later for Linux, macOS, or Windows).
155
+
- The Device Update APIs in the Azure SDKs for [.NET](/dotnet/api/azure.iot.deviceupdate), [Java](/java/api/com.azure.iot.deviceupdate), [JavaScript](/javascript/api/@azure/iot-device-update), or [Python](/python/api/azure-mgmt-deviceupdate/azure.mgmt.deviceupdate)
156
+
- The Device Update [Import Update](/rest/api/deviceupdate/dataplane/updates/import-update) REST API
157
+
- Sample [PowerShell modules](https://github.com/Azure/iot-hub-device-update/tree/main/tools/AduCmdlets) (requires [PowerShell 5](/powershell/scripting/install/installing-powershell) or later for Linux, macOS, or Windows)
158
158
159
159
> [!NOTE]
160
160
> See [Device Update user roles and access](device-update-control-access.md) for required API permission.
Copy file name to clipboardExpand all lines: articles/iot-hub-device-update/update-manifest.md
+9-8Lines changed: 9 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,9 @@
1
1
---
2
2
title: Azure Device Update for IoT Hub update manifest
3
-
description: Learn how the Azure Device Update for IoT Hub service uses the update manifest to send properties to devices during updates.
3
+
description: Learn about the update manifest that the Azure Device Update for IoT Hub service uses to send properties to devices during updates.
4
4
author: andrewbrownmsft
5
5
ms.author: andbrown
6
-
ms.date: 01/02/2025
6
+
ms.date: 01/03/2025
7
7
ms.topic: concept-article
8
8
ms.service: azure-iot-hub
9
9
ms.subservice: device-update
@@ -12,14 +12,16 @@ ms.subservice: device-update
12
12
13
13
# Azure Device Update for IoT Hub update manifest
14
14
15
-
This article describes the *update manifest* data that Azure Device Update for IoT Hub sends to devices during update deployment. The update manifest is a serialized JSON object string containing metadata about the update to install. Device Update uses [IoT Plug and Play](device-update-plug-and-play.md) to send the update manifest, and cryptographically signs it so that the Device Update agent can verify its authenticity. For more information about how the update manifest is used to securely install content, see [Device Update security](./device-update-security.md).
15
+
This article describes the *update manifest* data that Azure Device Update for IoT Hub sends to devices during update deployment. The update manifest is a serialized JSON string object containing metadata about the update to install.
16
+
17
+
Device Update uses [IoT Plug and Play](device-update-plug-and-play.md) to send the update manifest, and cryptographically signs it so that the Device Update agent can verify its authenticity. For more information about how the update manifest is used to securely install content, see [Device Update security](device-update-security.md).
16
18
17
19
## Import manifest vs update manifest
18
20
19
-
The update manifest is different from the Device Update *import manifest* file.
21
+
The update manifest is different from the Device Update *import manifest*.
20
22
21
-
- The [import manifest](import-concepts.md), which describes the contents of the update to import into Device Update, is created and imported by whoever creates the corresponding update for Device Update.
22
-
- The update manifest is automatically generated by the Device Update service, using some of the same properties defined in the import manifest, to communicate information to the Device Update agent during the update process.
23
+
- The [import manifest](import-concepts.md) is a JSON file that describes the update to import into Device Update. Whoever creates the update for Device Update creates the corresponding import manifest file.
24
+
- The update manifest is a JSON string object that communicates information to the Device Update agent during an update. The Device Update service automatically generates the update manifest by using some of the same properties defined in the import manifest.
23
25
24
26
Each manifest type has its own schema and schema version. For more information about the import manifest schema, see [Device Update import manifest schema](import-schema.md).
25
27
@@ -95,8 +97,7 @@ The following example shows a mini update manifest:
0 commit comments