Skip to content

Commit 1b1273e

Browse files
committed
fixes
1 parent 40bf10a commit 1b1273e

File tree

4 files changed

+28
-27
lines changed

4 files changed

+28
-27
lines changed

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

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,10 @@ ms.subservice: device-update
1313

1414
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. Along with the update payload, you submit a JSON import manifest file that defines important information about the update. This article describes the important concepts and sections in the import manifest JSON file.
1515

16-
## The import manifest file
16+
<a name="import-manifest"></a>
17+
## Import manifest file
1718

18-
You submit a import manifest JSON file along with the associated update files, such as a firmware update package, as part of the import process. The metadata defined in the import manifest is used both to ingest the update and at deployment time for functions like validating whether the update installed correctly.
19+
You submit an import manifest JSON file along with the associated update files, such as a firmware update package, as part of the import process. The metadata defined in the import manifest is used both to ingest the update and at deployment time for functions like validating whether the update installed correctly.
1920

2021
The following JSON code shows an example import manifest file:
2122

@@ -83,11 +84,11 @@ For example:
8384
```
8485

8586
> [!NOTE]
86-
> The `updateId` is used only by the Device Update service, and might be different from the software component identities on the devices.
87+
> The `updateId` is used only by the Device Update service, and is different from the software component identities on the devices.
8788
8889
### Compatibility
8990

90-
The `compatibility` section defines the devices that can install an update by using one or more arbitrary key-value pairs. 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.
91+
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.
9192

9293
The following example shows an update that can only be deployed to devices that report *Contoso* and *Toaster* as their device manufacturer and model.
9394

@@ -152,7 +153,7 @@ An update and an import manifest `steps` section can contain more than one step,
152153
}
153154
```
154155

155-
An update and `steps` section can also contain `reference` steps that instruct the device agent to install a different update along with its own import manifest, establishing a parent and child update relationship. The following example update for a toaster contains two child update steps. An update can contain any combination of inline and reference steps.
156+
A `steps` section can also contain `reference` steps that instruct the device agent to install a different update and corresponding import manifest, establishing a parent and child update relationship. The following example update for a toaster contains two child update steps. An update can contain any combination of inline and reference steps.
156157

157158
```json
158159
{

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

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,15 @@ The import manifest JSON schema is hosted at [SchemaStore.org](https://json.sche
3131
|**manifestVersion**|`string`|Import manifest schema version. Must be 5.0.|Yes|
3232
|**createdDateTime**|`string`|Date and time import manifest was created in ISO 8601 format, for example `"2020-10-02T22:18:04.9446744Z"`.|Yes|
3333

34-
### The updateId object
34+
### Update object
3535

3636
The `updateID` object is a unique identifier for each update.
3737

3838
|Property|Type|Description|Required|
3939
|---|---|---|---|
4040
|**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|
4141
|**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 will be dropped.<br><br>Pattern: `^\d+(?:\.\d+)+$`<br>Examples: `"1.0"`, `"2021.11.8"`|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|
4343

4444
No other properties are allowed.
4545

@@ -55,7 +55,7 @@ For example:
5555
}
5656
```
5757

58-
### The compatibility object
58+
### Compatibility object
5959

6060
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.
6161

@@ -72,7 +72,7 @@ For example:
7272
}
7373
```
7474

75-
### The instructions object
75+
### Instructions object
7676

7777
The `instructions` object provides the update installation instructions. The instructions object contains a list of `steps` to be performed. No other properties are allowed.
7878

@@ -109,7 +109,7 @@ An `inline` step object is an installation instruction step that performs code e
109109
|---|---|---|---|
110110
|**type**|`string`|Instruction step type that performs code execution. Must be `inline`.|No|
111111
|**description**|`string`|Optional instruction step description. Maximum length: 64 characters|No|
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: 5 characters<br>Maximum length: 32 characters<br>Examples: `microsoft/script:1`, `microsoft/swupdate:1`, `microsoft/apt:1` |Yes|
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|
113113
|**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|
114114
|**handlerProperties**|`inlineStepHandlerProperties`|JSON objects that the agent passes to the handler as arguments.|No|
115115

@@ -163,7 +163,7 @@ For example:
163163
}
164164
```
165165

166-
### The files object
166+
### Files object
167167

168168
Each *file* object is an update payload file, such as a binary, firmware, or script file, that must be unique within an update.
169169

@@ -263,6 +263,6 @@ For example:
263263

264264
## Related content
265265

266-
- [Import concepts and manifest](./import-concepts.md).
267-
- [Prepare an update to import](create-update.md).
266+
- [Import concepts and manifest](./import-concepts.md)
267+
- [Prepare an update to import](create-update.md)
268268
- [Import an update](import-update.md)

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

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@ To deploy an update to devices using Azure Device Update for IoT Hub, you first
2020
- Update files for your device, and an associated import manifest file created by following the instructions in [Prepare an update to import into Device Update](create-update.md).
2121
## Import an update
2222

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](#if-youre-importing-using-apis-instead) instead.
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.
2424

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, where it's stored to be deployed to devices.
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.
2626

2727
# [Azure portal](#tab/portal)
2828

29-
1. On the [Azure portal](https://portal.azure.com) IoT hub page for your Device Update instance, select **Device Management** > **Updates** from the left navigation.
29+
1. On the [Azure portal](https://portal.azure.com) IoT hub page for your Device Update instance, select **Device management** > **Updates** from the left navigation.
3030

3131
:::image type="content" source="media/import-update/import-updates-3-ppr.png" alt-text="Screenshot that shows Import updates." lightbox="media/import-update/import-updates-3-ppr.png":::
3232

@@ -52,7 +52,7 @@ To import an update, you first upload the update files and import manifest into
5252

5353
:::image type="content" source="media/import-update/container-ppr.png" alt-text="Screenshot that shows select Upload." lightbox="media/import-update/container-ppr.png":::
5454

55-
1. Select the folder icon on the right side of the **Files** section under the **Upload blob** header. 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 files and import manifest, select the files, and then select **Open**. You can use the Shift key to multiselect files.
5656

5757
:::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":::
5858

@@ -148,13 +148,13 @@ az iot du update list \
148148

149149
---
150150

151-
## Use the Device Update APIs
151+
## Import using the Device Update APIs
152152

153153
You can also import an update programmatically by using any of the following methods:
154154

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] 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).
158158

159159
> [!NOTE]
160160
> See [Device Update user roles and access](device-update-control-access.md) for required API permission.

articles/iot-hub-device-update/update-manifest.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,14 @@ ms.subservice: device-update
1212

1313
# Azure Device Update for IoT Hub update manifest
1414

15-
This article describes how Azure Device Update for IoT Hub uses [IoT Plug and Play](./device-update-plug-and-play.md) to send *update manifest* data to devices during update deployment. The update manifest is a serialized JSON object string containing metadata about the update to install. The update manifest is cryptographically signed so 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 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).
1616

1717
## Import manifest vs update manifest
1818

19-
The update manifest is different from the Device Update *import manifest*.
19+
The update manifest is different from the Device Update *import manifest* file.
2020

21-
- Whoever creates the update for Device Update also creates the corresponding [import manifest](./import-concepts.md), which describes the contents of the update to import into Device Update.
22-
- The Device Update service automatically generates the update manifest, using some of the same properties defined in the import manifest, to communicate information to the Device Update agent during the update process.
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.
2323

2424
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).
2525

@@ -71,7 +71,7 @@ The update manifest JSON schema version 4 is hosted at [SchemaStore.org](https:/
7171

7272
### Full vs mini update manifest
7373

74-
If an update manifest is too large to be communicated efficiently, Device Update sends it to the device in *detached* format, also known as a *mini update manifest*. A mini manifest contains metadata about the update manifest that Device Update agent needs to download the full update manifest and verify its authenticity.
74+
If an update manifest is too large to be communicated efficiently, Device Update sends it to the device in *detached* format, also called a *mini update manifest*. A mini manifest contains metadata about the update manifest that the Device Update agent can use to download the full update manifest and verify its authenticity.
7575

7676
The following example shows a mini update manifest:
7777

@@ -96,7 +96,7 @@ The following example shows a mini update manifest:
9696
}
9797
```
9898
## Related content
99-
- [Device Update import manifest concepts](import-manifest.md)
99+
- [Device Update import manifest concepts](import-concepts.md)
100100
- [Device Update import manifest schema](import-schema.md)
101101
- [Prepare an update to import into Device Update](create-update.md)
102102
- [Import an update into Device Update](import-update.md)

0 commit comments

Comments
 (0)