Migrate IoT resources

This section contains information that you may find helpful as you migrate Azure IoT resources across Azure regions.


Migrating Azure Functions resources from across Azure regions isn’t supported at this time. We recommend that you export a Resource Manager template, change the location, and then redeploy to the target region.

Change location, Azure Key Vault secrets, certificates, and other GUIDs to be consistent with the new region.

For more information:

Notification Hubs

To migrate settings from one instance of Azure Notification Hubs to another instance, export and then import all registration tokens and tags:

  1. Export the existing notification hub registrations to an Azure Blob storage container.
  2. Create a new notification hub in the target environment.
  3. Import your registration tokens from Blob storage to your new notification hub.

For more information:

IoT Hub

To migrate IoT Hub, re-create the IoT Hub and use the export/import device identities function:


This migration might cause downtime and data loss in your Azure IoT application. All telemetry messages, C2D commands, and job-related information (schedules and history) aren't migrated. You must reconfigure your devices and back-end applications to start using the new connection strings.

Step 1: Re-create the IoT hub

IoT Hub doesn’t support cloning natively. However, you can use the Azure Resource Manager feature to export a resource group as a template to export your IoT Hub metadata. Configured routes and other IoT hub settings are included in the exported metadata. Then, redeploy the template in global Azure. You might find it easier to re- create the IoT hub in the Azure portal by looking at the details in the exported JSON.

Step 2: Migrate device identities

To migrate device identities:

  1. In the source tenant, use the ExportDevices Resource Manager API to export all device identities, device twins, and module twins (including the keys) to a storage container. You can use a storage container in either the source or the target Azure region. Make sure that the generated shared access signature URI has sufficient permissions.

  2. Run the ImportDevices Resource Manager API to import all device identities from the storage container to the cloned IoT hub in the target Azure region.

  3. Reconfigure your devices and back-end services to start using the new connection strings from the new IoT hub created in Step 1.

For more information:

Event Hubs

See Event Hubs chapter of Migrate analtyics services.

Stream Analtyics

See Stream Analtyics chapter of Migrate analtyics services.

Logic Apps

See Logic Apps chapter of Migrate integration resources to the target Azure region.

API Management

See API Management chapter of Migrate web resources.