Skip to content

Commit bf34b82

Browse files
authored
Merge pull request #292570 from v-thepet/iot6
Freshness Edit: IoT-hub-device 6
2 parents ed80981 + 88f2667 commit bf34b82

File tree

5 files changed

+198
-204
lines changed

5 files changed

+198
-204
lines changed

articles/iot-hub-device-update/import-concepts.md

Lines changed: 33 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
---
2-
title: Understand Device Update for IoT Hub importing
3-
description: Key concepts for importing a new update into Device Update for IoT Hub.
2+
title: Azure Device Update for IoT Hub import concepts
3+
description: Understand key concepts for importing a new update into Azure Device Update for IoT Hub.
44
author: andrewbrownmsft
55
ms.author: andbrown
6-
ms.date: 06/27/2022
6+
ms.date: 01/09/2025
77
ms.topic: concept-article
88
ms.service: azure-iot-hub
99
ms.subservice: device-update
1010
---
1111

12-
# Importing updates into Device Update for IoT Hub
12+
# Azure Device Update for IoT Hub import concepts
1313

14-
In order to deploy an update to devices from Device Update for IoT Hub, you first have to import that update into the Device Update service. The imported update will be stored in the Device Update service and can be deployed from there to devices. This article provides an overview of some important concepts to understand when it comes to importing updates.
14+
To deploy an update to devices using Azure Device Update for IoT Hub, you first import the update into the Device Update service, which stores the imported update and deploys it to devices. This article provides an overview of some important concepts to understand when it comes to importing updates.
1515

1616
## Import manifest
1717

18-
An import manifest is a JSON file that defines important information about the update that you're importing. You submit both your import manifest and associated update file or files (such as a firmware update package) as part of the import process. The metadata that is defined in the import manifest is used to ingest the update. Some of the metadata is also used at deployment time - for example, to validate if an update was installed correctly.
18+
An import manifest is a JSON file that defines important information about the update you're importing. You submit both your import manifest and associated update file or files, such as a firmware update package, as part of the import process. The metadata defined in the import manifest is used to ingest the update. Some of the metadata is also used at deployment time, for example to validate if an update installed correctly.
1919

20-
For example:
20+
The following JSON code shows an example import manifest file:
2121

2222
```json
2323
{
@@ -60,15 +60,15 @@ For example:
6060
}
6161
```
6262

63-
The import manifest contains several items that represent important Device Update for IoT Hub concepts. These items are outlined in this section. For information about the full import schema, see [Import manifest JSON schema](./import-schema.md).
63+
The sections of the import manifest file represent important Device Update concepts, as described in the following sections. For information about the full import manifest schema, see [Import manifest JSON schema](./import-schema.md).
6464

6565
### Update identity
6666

67-
The *update identity* or *updateId* is the unique identifier for an update in Device Update for IoT Hub. It's composed of three parts:
67+
The *update identity* or `updateId` is the unique identifier for an update in Device Update, and contains the following properties:
6868

69-
- **Provider**: entity who is creating or directly responsible for the update. It will often be a company name.
70-
- **Name**: identifier for a class of updates. It will often be a device class or model name.
71-
- **Version**: a version number distinguishing this update from others that have the same provider and name.
69+
- **Provider** is the entity that creates or is responsible for the update. **Provider** is often a company name.
70+
- **Name** is the identifier for an update class. **Name** is often a device class or model name.
71+
- **Version** is a number that distinguishes this update from others with the same provider and name.
7272

7373
For example:
7474

@@ -83,13 +83,13 @@ For example:
8383
```
8484

8585
> [!NOTE]
86-
> UpdateId is used by the Device Update service only, and may be different from the identities of actual software components on the device.
86+
> The `updateId` is used only by the Device Update service, and is different from the software component identities on the devices.
8787
8888
### Compatibility
8989

90-
*Compatibility* defines the criteria of a device that can install the update. It contains device properties that are a set of arbitrary key value pairs that are reported from a device. Only devices with matching properties will be eligible for deployment. An update may be compatible with multiple device classes by having more than one set of device properties.
90+
The **Compatibility** section uses one or more arbitrary key-value pairs to define the devices that can install an update. Only devices that report properties matching the compatibility values are eligible to deploy the update. You can make an update compatible with multiple device classes by including more than one set of device compatibility properties.
9191

92-
Here's an example of an update that can only be deployed to a device that reports *Contoso* and *Toaster* as its device manufacturer and model.
92+
The following example shows an update that can only be deployed to devices that report *Contoso* and *Toaster* as their device manufacturer and model.
9393

9494
```json
9595
{
@@ -104,7 +104,7 @@ Here's an example of an update that can only be deployed to a device that report
104104

105105
### Instructions
106106

107-
The *Instructions* part contains the necessary information or *steps* for device agent to install the update. The simplest update contains a single inline step. That step executes the included payload file using a *handler* registered with the device agent:
107+
The **Instructions** section contains the necessary information or steps for the device agent to install the update. The simplest update contains a single inline step that executes the update payload file using a handler registered with the device agent. The following example shows a single-step instructions section.
108108

109109
```json
110110
{
@@ -121,10 +121,10 @@ The *Instructions* part contains the necessary information or *steps* for device
121121
}
122122
```
123123

124-
> [!TIP]
125-
> `handler` is equivalent to `updateType` in import manifest version 3.0 or older.
124+
> [!NOTE]
125+
> The `handler` property is equivalent to the `updateType` property in import manifest version 3.0 or older.
126126
127-
An update may contain more than one step:
127+
An update can contain more than one step, as in the following example:
128128

129129
```json
130130
{
@@ -152,7 +152,9 @@ An update may contain more than one step:
152152
}
153153
```
154154

155-
An update may contain *reference* steps that instruct the device agent to install another update with its own import manifest altogether, establishing a parent and child update relationship. For example, an update for a toaster may contain two child updates:
155+
An update may contain *reference* steps that instruct the device agent to install another update with its own import manifest, establishing a parent and child update relationship. An update can contain any combination of inline and reference steps.
156+
157+
For example, an update for a toaster may contain two child updates:
156158

157159
```json
158160
{
@@ -179,31 +181,31 @@ An update may contain *reference* steps that instruct the device agent to instal
179181
}
180182
```
181183

182-
> [!NOTE]
183-
> An update may contain any combination of inline and reference steps.
184184

185185
### Files
186186

187-
The *Files* part contains the metadata of update payload files like their names, sizes, and hash. Device Update for IoT Hub uses this metadata for integrity validation during the import process. The same information is then forwarded to the device agent to repeat the integrity validation prior to installation.
187+
The **Files** section of the import manifest contains update payload file metadata like `name`, `size`, and `hash`. Device Update uses this metadata for integrity validation during the import process, and forwards the same information to the device agent for integrity validation before installation.
188188

189189
> [!NOTE]
190-
> An update that contains only reference steps won't have any update payload file in the parent update.
190+
> A parent update that contains only reference steps doesn't define any update payload files.
191191
192192
## Create an import manifest
193193

194-
While it's possible to author an import manifest JSON manually using a text editor, the Azure Command Line Interface (CLI) simplifies the process greatly. When you're ready to try out the creation of an import manifest, you can use the [How-to guide](create-update.md#create-a-basic-device-update-import-manifest).
194+
While it's possible to author an import manifest JSON manually using a text editor, the Azure CLI simplifies the process greatly. When you're ready to try out the creation of an import manifest, you can use the [How-to guide](create-update.md#create-a-basic-device-update-import-manifest).
195195

196196
> [!IMPORTANT]
197-
> An import manifest JSON filename must end with `.importmanifest.json` when imported through Azure portal.
197+
> To import into the Device Update service via the Azure portal, an import manifest JSON filename must end with *.importmanifest.json*.
198198
199199
> [!TIP]
200-
> Use [Visual Studio Code](https://code.visualstudio.com) to enable autocomplete and JSON schema validation when creating an import manifest.
200+
> You can use [Visual Studio Code](https://code.visualstudio.com) to enable autocomplete and JSON schema validation when you create an import manifest.
201201
202-
## Limits on importing updates
202+
## Update import limits
203203

204204
Certain limits are enforced for each Device Update for IoT Hub instance. If you haven't already reviewed them, see [Device Update limits](./device-update-limits.md).
205205

206-
## Next steps
206+
## Related content
207207

208-
- To learn more about the import process, see [Prepare an update to import](./create-update.md).
209-
- Review the [Import manifest schema](./import-schema.md).
208+
- [Import manifest schema](import-schema.md)
209+
- [Device Update update manifest](update-manifest.md)
210+
- [Prepare an update to import](create-update.md)
211+
- [Import an update](import-update.md)

0 commit comments

Comments
 (0)