Import an update to Device Update for IoT Hub
Learn how to obtain a new update and import it into Device Update for IoT Hub. If you haven't already, be sure to review the key import concepts and how to prepare an update to be imported.
Prerequisites
- Access to an IoT Hub with Device Update for IoT Hub enabled.
- An IoT device (or simulator) provisioned for Device Update within IoT Hub.
- Follow the steps in Prepare an update to import into Device Update for IoT Hub to create the import manifest for your update files.
Supported browsers:
- Microsoft Edge
- Google Chrome
Import an update
This section shows how to import an update using either the Azure portal or the Azure CLI. You can also use the Device Update for IoT Hub APIs to import an update instead.
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 will be stored for you to deploy to devices.
In the Azure portal, navigate to your IoT Hub with Device Update.
On the left-hand side of the page, select Updates under Device Management.
Select the Updates tab from the list of tabs across the top of the screen.
Select + Import a new update below the Available Updates header.
Select + Select from storage container. The Storage accounts UI is shown. Select an existing account, or create an account using + Storage account. This account is used for a container to stage your updates for import. The account should not have both public and private endpoints enabled at the same time.
Once you've selected a Storage account, the Containers UI is shown. Select an existing container, or create a container using + Container. This container is used to stage your update files for importing
We recommend that you use a new container each time you import an update. Always using new containers helps you to avoid accidentally importing files from previous updates. If you don't use a new container, be sure to delete any files from the existing container before you complete this step.
In your container, select Upload. The Upload UI is shown.
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 all of the files, then select Open. You can hold the Shift key and click to multi-select files.
When you've selected all your update files, select Upload.
Select the uploaded files to designate them to be imported. Then select the Select button to return to the Import update page.
On the Import update page, review the files to be imported. Then select Import update to start the import process. To resolve any errors, see Proxy update troubleshooting.
The import process begins, and the screen switches to the Import History section. Select Refresh to view progress until the import process completes (depending on the size of the update, the process might complete in a few minutes but could take longer).
When the Status column indicates that the import has succeeded, select the Available Updates header. You should see your imported update in the list now.
If you're importing using APIs instead
You can also import an update programmatically by:
- Using
Azure SDK
for .NET, Java, JavaScript or Python - Using Import Update REST API
- Using sample PowerShell modules
- Requires PowerShell 5 or later (includes Linux, macOS, and Windows installs)
Note
Refer to Device update user roles and access for required API permission.
Update files and import manifest must be uploaded to an Azure Storage Blob container for staging. To import the staged files, provide the blob URL, or shared access signature (SAS) for private blobs, to the Device Update API. If using a SAS, be sure to provide an expiration window of three hours or more
Tip
To upload large update files to Azure Storage Blob container, you may use one of the following for better performance: