Como migrar manualmente um hub IoT do Azure usando um modelo do Azure Resource Manager
Use o portal do Azure, os modelos do Azure Resource Manager e os SDKs de serviço do Hub IoT do Azure para migrar um hub IoT para uma nova região, uma nova camada ou uma nova configuração.
As etapas neste artigo são úteis se você quiser:
- Atualize da camada gratuita para um hub IoT de camada básica ou padrão.
- Mova um hub IoT para uma nova região.
- Exporte informações de estado do hub IoT para ter como backup.
- Aumente o número de partições para um hub IoT.
- Configure um hub para um ambiente de desenvolvimento, em vez de produção.
- Habilite uma implementação personalizada de alta disponibilidade multi-hub. Para obter mais informações, consulte a seção Como obter HA entre regiões da alta disponibilidade e recuperação de desastres do Hub IoT.
Para migrar um hub, você precisa de uma assinatura com acesso administrativo ao hub original. Você pode colocar o novo hub em um novo grupo de recursos e região, na mesma assinatura do hub original ou até mesmo em uma nova assinatura. Você simplesmente não pode usar o mesmo nome porque o nome do hub precisa ser globalmente exclusivo.
Compare as etapas de migração automática e manual
O resultado deste artigo é semelhante a Como migrar automaticamente um hub IoT usando a CLI do Azure, mas com um processo diferente. Antes de começar, decida qual é o processo certo para o seu cenário.
O processo manual (este artigo):
- Migra o registro do dispositivo e as informações de roteamento e ponto final. Você precisa recriar manualmente outros detalhes de configuração no novo hub IoT.
- É mais rápido para migrar um grande número de dispositivos (por exemplo, mais de 100.000).
- Usa uma conta de Armazenamento do Azure para transferir o registro do dispositivo.
- Esfrega cadeias de conexão para pontos de extremidade de roteamento e upload de arquivos que usam autenticação baseada em chave da saída do modelo ARM, e você precisa adicioná-los manualmente novamente.
O processo da CLI do Azure:
- Migra o registro do dispositivo, as informações de roteamento e ponto final e outros detalhes de configuração, como implantações do IoT Edge ou configurações de gerenciamento automático de dispositivos.
- É mais fácil para migrar pequenos números de dispositivos (por exemplo, até 10.000).
- Não requer uma conta de Armazenamento do Azure.
- Coleta cadeias de conexão para pontos de extremidade de roteamento e upload de arquivos que usam autenticação baseada em chave e as inclui na saída do modelo ARM.
Aspectos a considerar
Há várias coisas a considerar antes de migrar um hub IoT.
Certifique-se de que todos os recursos disponíveis no local original também estejam disponíveis no novo local. Alguns serviços estão em pré-visualização e nem todos os recursos estão disponíveis em todos os lugares.
Não remova os recursos originais antes de criar e verificar a versão migrada. Depois de remover um hub, ele desaparece para sempre e não há como recuperá-lo para verificar as configurações ou os dados para garantir que o hub seja replicado corretamente.
Os dados do hub IoT original não são migrados. Esses dados incluem mensagens do dispositivo, comandos C2D (nuvem para dispositivo) e informações relacionadas ao trabalho, como agendas e histórico. As métricas e os resultados de registro em log também não são migrados.
Você precisa agendar o tempo de inatividade para a migração. A clonagem dos dispositivos para o novo hub leva tempo. Se você usar o método Importar/Exportar, o teste de benchmark revelou que pode levar cerca de duas horas para mover 500.000 dispositivos e quatro horas para mover um milhão de dispositivos.
Você pode copiar dispositivos para o novo hub sem desligar ou alterar os dispositivos.
Se os dispositivos foram originalmente provisionados usando DPS, atualize seus registros para apontar para o novo hub IoT. Em seguida, reprovisione os dispositivos para atualizar as informações de conexão armazenadas em cada dispositivo.
Caso contrário, você terá que usar o método de importação/exportação para mover os dispositivos e, em seguida, os dispositivos terão que ser modificados para usar o novo hub. Por exemplo, você pode configurar seu dispositivo para consumir o nome de host do Hub IoT a partir das propriedades desejadas gêmeas. O dispositivo usa esse nome de host do Hub IoT, desconecta o dispositivo do hub antigo e o reconecta ao novo.
Você precisa atualizar todos os certificados para poder usá-los com os novos recursos. Além disso, você provavelmente tem o hub definido em uma tabela DNS em algum lugar e precisa atualizar essas informações de DNS.
Os pontos de extremidade que usam identidades gerenciadas atribuídas pelo sistema para autenticação não podem ser migrados. Após a migração, você precisa conceder à identidade gerenciada atribuída pelo sistema do novo hub IoT acesso aos recursos de ponto de extremidade e, em seguida, recriar os pontos de extremidade.
Metodologia
Este é o método geral que recomendamos para migrar um hub IoT.
Exporte o hub e suas configurações para um modelo do Gerenciador de Recursos.
Faça as alterações necessárias no modelo, como atualizar todas as ocorrências do nome e do local do hub migrado. Para quaisquer recursos no modelo usado para pontos de extremidade de roteamento de mensagens, atualize a chave no modelo para esse recurso.
Importe o modelo para um novo grupo de recursos no novo local. Esta etapa cria o novo hub IoT.
Depure conforme necessário.
Adicione tudo o que não foi exportado para o modelo.
Por exemplo, os grupos de consumidores não são exportados para o modelo. Você precisa adicionar os grupos de consumidores ao modelo manualmente ou usar o portal do Azure após a criação do hub.
Copie os dispositivos do hub original para o novo hub. Esse processo é abordado na seção Gerenciar os dispositivos registrados no hub IoT.
Como lidar com o roteamento de mensagens
Se o hub usa roteamento de mensagens, exportar o modelo para o hub inclui a configuração de roteamento, mas não inclui os recursos em si. Se você estiver migrando o hub IoT para uma nova região, deverá escolher se deseja mover os recursos de roteamento para o novo local também ou deixá-los no lugar e continuar a usá-los como estão. Pode haver um pequeno impacto no desempenho do roteamento de mensagens para recursos de ponto de extremidade em uma região diferente.
Se o hub usar roteamento de mensagens, você terá duas opções.
Mova os recursos usados para os pontos de extremidade de roteamento para o novo local.
Crie os novos recursos manualmente no portal do Azure ou usando modelos do Gerenciador de Recursos.
Renomeie todos os recursos ao criá-los no novo local, pois eles exigem nomes globalmente exclusivos.
Atualize os nomes dos recursos e as chaves de recursos no modelo do novo hub antes de criar o novo hub. Os recursos devem estar presentes quando o novo hub é criado.
Não mova os recursos usados para os pontos de extremidade de roteamento. Use-os no local.
Na etapa em que você edita o modelo, você precisa recuperar as chaves para cada recurso de roteamento e colocá-las no modelo antes de criar o novo hub.
O hub ainda faz referência aos recursos de roteamento originais e encaminha mensagens para eles conforme configurado. Você terá um pequeno impacto no desempenho porque o hub e os recursos do ponto de extremidade de roteamento não estão no mesmo local.
Preparar-se para migrar o hub para outra região
Esta seção fornece instruções específicas para migrar o hub.
Exportar o hub original para um modelo de recurso
Inicie sessão no portal do Azure.
Navegue até o hub IoT que você deseja mover.
Selecione Exportar modelo na lista de propriedades e configurações do hub.
Selecione Download para baixar o modelo. Salve o arquivo em algum lugar que você possa encontrá-lo novamente.
Ver o modelo
Vá para o modelo baixado, que está contido em um arquivo zip. Extraia o arquivo zip e encontre o arquivo chamado template.json
.
O exemplo a seguir é para um hub genérico sem configuração de roteamento. É um hub de camada S1 (com 1 unidade) chamado ContosoHub na região westus:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"IotHubs_ContosoHub_connectionString": {
"type": "SecureString"
},
"IotHubs_ContosoHub_containerName": {
"type": "SecureString"
},
"IotHubs_ContosoHub_name": {
"defaultValue": "ContosoHub",
"type": "String"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.Devices/IotHubs",
"apiVersion": "2021-07-01",
"name": "[parameters('IotHubs_ContosoHub_name')]",
"location": "westus",
"sku": {
"name": "S1",
"tier": "Standard",
"capacity": 1
},
"identity": {
"type": "None"
},
"properties": {
"ipFilterRules": [],
"eventHubEndpoints": {
"events": {
"retentionTimeInDays": 1,
"partitionCount": 4
}
},
"routing": {
"endpoints": {
"serviceBusQueues": [],
"serviceBusTopics": [],
"eventHubs": [],
"storageContainers": []
},
"routes": [],
"fallbackRoute": {
"name": "$fallback",
"source": "DeviceMessages",
"condition": "true",
"endpointNames": [
"events"
],
"isEnabled": true
}
},
"storageEndpoints": {
"$default": {
"sasTtlAsIso8601": "PT1H",
"connectionString": "[parameters('IotHubs_ContosoHub_connectionString')]",
"containerName": "[parameters('IotHubs_ContosoHub_containerName')]"
}
},
"messagingEndpoints": {
"fileNotifications": {
"lockDurationAsIso8601": "PT1M",
"ttlAsIso8601": "PT1H",
"maxDeliveryCount": 10
}
},
"enableFileUploadNotifications": false,
"cloudToDevice": {
"maxDeliveryCount": 10,
"defaultTtlAsIso8601": "PT1H",
"feedback": {
"lockDurationAsIso8601": "PT1M",
"ttlAsIso8601": "PT1H",
"maxDeliveryCount": 10
}
},
"features": "None",
"disableLocalAuth": false,
"allowedFqdnList": []
}
}
]
}
Editar o modelo
Você precisa fazer algumas alterações antes de poder usar o modelo para criar o novo hub na nova região. Use o Visual Studio Code ou um editor de texto para editar o modelo.
Editar o nome e o local do hub
Na seção de parâmetros, remova o botão ... connectionString e ... parâmetros containerName.
"IotHubs_ContosoHub_connectionString": { "type": "SecureString" }, "IotHubs_ContosoHub_containerName": { "type": "SecureString" },
Na seção de propriedades, remova a propriedade storageEndpoints.
"storageEndpoints": { "$default": { "sasTtlAsIso8601": "PT1H", "connectionString": "[parameters('IotHubs_ContosoHub_connectionString')]", "containerName": "[parameters('IotHubs_ContosoHub_containerName')]" } },
Se você estiver movendo o hub para uma nova região, altere a propriedade location em recursos.
"location": "westus",
Atualizar os recursos do ponto de extremidade de roteamento
Quando você exporta o modelo do Gerenciador de Recursos para um hub que tem roteamento configurado, você vê que as chaves para esses recursos não são fornecidas no modelo exportado. A sua colocação é indicada por asteriscos. Você deve preenchê-los acessando esses recursos no portal e recuperando as chaves antes de importar o modelo do novo hub e criar o hub.
Se você também moveu os recursos de roteamento, atualize o nome, a ID e o grupo de recursos de cada ponto de extremidade também.
- Para pontos de extremidade com autenticação baseada em chave, recupere as chaves necessárias para qualquer um dos recursos de roteamento e coloque-as no modelo. Você pode recuperar a chave de cada recurso no portal do Azure.
- Para pontos de extremidade com autenticação baseada em identidade:
- Aqueles que usam uma identidade gerenciada atribuída pelo usuário têm o valor userAssignedIdentity preenchido com as informações de ID de identidade como um parâmetro.
- Aqueles que usam uma identidade gerenciada atribuída ao sistema não podem ser migrados. Exclua esses pontos de extremidade e suas rotas relacionadas do modelo e anote para recriá-los no novo hub IoT.
Criar o novo hub carregando o modelo
Crie o novo hub usando o modelo editado. Se você tiver recursos de roteamento que serão movidos, os recursos deverão ser configurados no novo local e as referências no modelo atualizadas para corresponder. Se você não estiver movendo os recursos de roteamento, eles devem estar no modelo com as chaves atualizadas.
Inicie sessão no portal do Azure.
Selecione Criar um recurso.
Na caixa de pesquisa, procure e selecione implantação de modelo (implantar usando modelos personalizados). Na tela da implantação do modelo, selecione Criar.
Na página Implantação personalizada, selecione Criar seu próprio modelo no editor, o que permite que você carregue seu modelo de um arquivo.
Selecione Carregar arquivo.
Procure o novo modelo que editou e selecione-o e, em seguida, selecione Abrir. Ele carrega seu modelo na janela de edição. Selecione Guardar.
Preencha os seguintes campos na página de implantação personalizada.
Subscrição: selecione a subscrição que pretende utilizar.
Grupo de recursos: selecione um grupo de recursos existente ou crie um novo.
Região: se você selecionou um grupo de recursos existente, a região será preenchida para que você corresponda ao local do grupo de recursos. Se você criou um novo grupo de recursos, esse é seu local.
Nome do hub: dê um nome ao novo hub.
Selecione o botão Rever + criar.
Selecione o botão Criar. O portal valida seu modelo e implanta seu novo hub. Se você tiver dados de configuração de roteamento, eles serão incluídos no novo hub, mas apontarão para os recursos no local anterior.
Gerenciar os dispositivos registrados no hub IoT
Agora que você tem seu novo hub instalado e funcionando, você precisa copiar todos os dispositivos do hub original para o novo.
Há várias maneiras de copiar os dispositivos. Você usou originalmente o Serviço de Provisionamento de Dispositivo (DPS) para provisionar os dispositivos ou não o fez. Se o fez, este processo não é difícil. Se não o fez, este processo pode ser complicado.
Se você não usou o DPS para provisionar seus dispositivos, pode ignorar a próxima seção e começar com Usar Importar/Exportar para mover os dispositivos para o novo hub.
Usar o DPS para reprovisionar os dispositivos no novo hub
Para usar o DPS para mover os dispositivos para o novo local, consulte Como reprovisionar dispositivos. Quando terminar, você poderá exibir os dispositivos no portal do Azure e verificar se eles estão no novo local.
Vá para o novo hub usando o portal do Azure. Selecione seu hub e, em seguida, selecione Dispositivos IoT. Você vê os dispositivos que foram reprovisionados para o novo hub. Você também pode exibir as propriedades do novo hub.
Se você implementou o roteamento, teste e verifique se suas mensagens são roteadas para os recursos corretamente.
Reverter as alterações depois de usar o DPS
Se você quiser reverter as alterações, reprovisione os dispositivos do novo hub para o antigo.
Agora você terminou de migrar seu hub e seus dispositivos. Você pode pular para Limpeza.
Use import-export para mover os dispositivos para o novo hub
O aplicativo tem como alvo o .NET Core, para que você possa executá-lo no Windows ou Linux. Você pode baixar o exemplo, recuperar suas cadeias de conexão, definir os sinalizadores para quais bits deseja executar e executá-lo. Você pode fazer isso sem nunca abrir o código.
Transferir o exemplo
Use o ImportExportDevicesSample do IoT C# SDK. Clone ou baixe o repositório para obter o código de exemplo.
Opções
Para executar o aplicativo, especifique três cadeias de conexão e cinco opções. Você passa esses dados como argumentos de linha de comando ou usa variáveis de ambiente ou usa uma combinação dos dois. Vamos passar as opções como argumentos de linha de comando e as cadeias de conexão como variáveis de ambiente. A razão para isso é porque as cadeias de conexão são longas e impróprias, e improváveis de mudar, mas você pode querer alterar as opções e executar o aplicativo mais de uma vez. Para alterar o valor de uma variável de ambiente, você precisa fechar a janela de comando e Visual Studio ou Visual Studio Code, o que estiver usando.
Aqui estão as cinco opções que você especifica ao executar o aplicativo:
addDevices (argumento 1) - defina esta opção como
True
se quiser adicionar dispositivos virtuais gerados para si. Esses dispositivos são adicionados ao hub de origem. Além disso, defina numToAdd (argumento 2) para especificar quantos dispositivos você deseja adicionar. O número máximo de dispositivos que você pode registrar em um hub é de um milhão. O objetivo desta opção é testar. Você pode gerar um número específico de dispositivos e, em seguida, copiá-los para outro hub.copyDevices (argumento 3) - defina esta opção para
True
copiar os dispositivos de um hub para outro.deleteSourceDevices (argumento 4) - defina essa opção para
True
excluir todos os dispositivos registrados no hub de origem. Recomendamos esperar até ter certeza de que todos os dispositivos foram transferidos antes de executar isso. Depois de excluir os dispositivos, você não pode recuperá-los.deleteDestDevices (argumento 5) - defina esta opção para
True
excluir todos os dispositivos registrados no hub de destino. Você pode querer fazer isso se quiser copiar os dispositivos mais de uma vez.
O comando básico é dotnet run, que diz ao .NET para criar o arquivo csproj local e, em seguida, executá-lo. Você adiciona seus argumentos de linha de comando ao final antes de executá-lo.
Sua linha de comando se parece com estes exemplos:
// Format: dotnet run add-devices num-to-add copy-devices delete-source-devices delete-destination-devices
// Add 1000 devices, don't copy them to the other hub, or delete them.
// The first argument is true, numToAdd is 50, and the other arguments are false.
dotnet run true 1000 false false false
// Copy the devices you just added to the other hub; don't delete anything.
// The first argument is false, numToAdd is 0, copy-devices is true, and the delete arguments are both false
dotnet run false 0 true false false
Usar variáveis de ambiente para as cadeias de conexão
Para executar o exemplo, você precisa das cadeias de conexão para os hubs IoT antigos e novos e para uma conta de armazenamento que possa ser usada para arquivos de trabalho temporários. Armazenaremos os valores dessas cadeias de conexão em variáveis de ambiente.
Para obter os valores da cadeia de conexão, entre no portal do Azure.
Coloque as cadeias de conexão em algum lugar que você possa recuperá-las, como o Bloco de Notas. Se você copiar o seguinte, poderá colar as cadeias de conexão diretamente para onde elas vão. Não adicione espaços ao redor do sinal de igual ou altere o nome da variável. Além disso, você não precisa de aspas duplas em torno das cadeias de conexão. Se você colocar aspas ao redor da cadeia de conexão da conta de armazenamento, o script falhará.
Defina as variáveis de ambiente no Windows:
SET IOTHUB_CONN_STRING=<put connection string to original IoT hub here> SET DEST_IOTHUB_CONN_STRING=<put connection string to destination IoT hub here> SET STORAGE_ACCT_CONN_STRING=<put connection string to the storage account here>
Defina as variáveis de ambiente no Linux:
export IOTHUB_CONN_STRING="<put connection string to original IoT hub here>" export DEST_IOTHUB_CONN_STRING="<put connection string to destination IoT hub here>" export STORAGE_ACCT_CONN_STRING="<put connection string to the storage account here>"
Para as cadeias de conexão do hub IoT, vá para cada hub no portal. Você pode pesquisar o hub em Recursos . Se você conhece o Grupo de Recursos, pode ir para Grupos de recursos, selecionar seu grupo de recursos e, em seguida, selecionar o hub na lista de ativos desse grupo de recursos.
Selecione Políticas de acesso compartilhado nas Configurações do hub, selecione iothubowner e copie uma das cadeias de conexão. Faça o mesmo para o hub de destino. Adicione-os aos comandos SET apropriados.
Para a cadeia de conexão da conta de armazenamento, localize a conta de armazenamento em Recursos ou em seu grupo de Recursos e abra-a.
Na seção Configurações, selecione Teclas de acesso e copie uma das cadeias de conexão. Coloque a cadeia de conexão no arquivo de texto para o comando SET apropriado.
Agora você tem as variáveis de ambiente em um arquivo com os comandos SET e sabe quais são seus argumentos de linha de comando. Vamos executar o exemplo.
Execute o aplicativo de exemplo e usando argumentos de linha de comando
Abra uma janela da linha de comandos. Selecione Windows e digite
command prompt
para obter a janela do prompt de comando.Copie os comandos que definem as variáveis de ambiente, um de cada vez, cole-os na janela do prompt de comando e selecione Enter. Quando terminar, digite
SET
na janela do prompt de comando para ver as variáveis de ambiente e seus valores. Depois de copiá-los para a janela do prompt de comando, você não precisa copiá-los novamente, a menos que abra uma nova janela do prompt de comando.Na janela do prompt de comando, altere os diretórios até que você esteja em ./ImportExportDevicesSample (onde o arquivo ImportExportDevicesSample.csproj existe). Em seguida, digite o seguinte e inclua seus argumentos de linha de comando.
// Format: dotnet run add-devices num-to-add copy-devices delete-source-devices delete-destination-devices dotnet run arg1 arg2 arg3 arg4 arg5
O comando dotnet cria e executa o aplicativo. Como você está passando as opções quando executa o aplicativo, pode alterar os valores delas sempre que executar o aplicativo. Por exemplo, você pode querer executá-lo uma vez e criar novos dispositivos, em seguida, executá-lo novamente e copiar esses dispositivos para um novo hub, e assim por diante. Você também pode executar todas as etapas na mesma execução, embora seja recomendável não excluir nenhum dispositivo até ter certeza de que concluiu a migração. Aqui está um exemplo que cria 1.000 dispositivos e, em seguida, os copia para o outro hub.
// Format: dotnet run add-devices num-to-add copy-devices delete-source-devices delete-destination-devices // Add 1000 devices, don't copy them to the other hub or delete them. dotnet run true 1000 false false false // Do not add any devices. Copy the ones you just created to the other hub; don't delete anything. dotnet run false 0 true false false
Depois de verificar se os dispositivos foram copiados com êxito, você pode remover os dispositivos do hub de origem da seguinte forma:
// Format: dotnet run add-devices num-to-add copy-devices delete-source-devices delete-destination-devices // Delete the devices from the source hub. dotnet run false 0 false true false
Execute o aplicativo de exemplo usando o Visual Studio
Se você quiser executar o aplicativo no Visual Studio, altere seu diretório atual para a pasta onde o arquivo azureiot.sln reside. Em seguida, execute esse comando na janela do prompt de comando para abrir a solução no Visual Studio. Você deve fazer isso na mesma janela de comando onde você define as variáveis de ambiente, para que essas variáveis sejam conhecidas.
azureiot.sln
Clique com o botão direito do mouse no projeto ImportExportDevicesSample e selecione Definir como projeto de inicialização.
Defina as variáveis na parte superior do Program.cs na pasta ImportExportDevicesSample para as cinco opções.
// Add randomly created devices to the source hub. private static bool addDevices = true; //If you ask to add devices, this will be the number added. private static int numToAdd = 0; // Copy the devices from the source hub to the destination hub. private static bool copyDevices = false; // Delete all of the devices from the source hub. (It uses the IoTHubConnectionString). private static bool deleteSourceDevices = false; // Delete all of the devices from the destination hub. (Uses the DestIotHubConnectionString). private static bool deleteDestDevices = false;
Selecione F5 para executar o aplicativo. Depois que a execução terminar, você poderá visualizar os resultados.
Ver os resultados
Você pode exibir os dispositivos no portal do Azure e verificar se eles estão no novo local.
Vá para o novo hub usando o portal do Azure. Selecione seu hub e, em seguida, selecione Dispositivos IoT. Você vê os dispositivos copiados do hub antigo para o novo. Você também pode exibir as propriedades do novo hub.
Verifique se há erros de importação/exportação acessando a conta de armazenamento do Azure no portal do Azure e procurando o
devicefiles
.ImportErrors.log
Se este ficheiro estiver vazio (o tamanho é 0), não houve erros. Se você tentar importar o mesmo dispositivo mais de uma vez, ele rejeitará o dispositivo pela segunda vez e adicionará uma mensagem de erro ao arquivo de log.
Confirmar as alterações
Neste ponto, você copiou seu hub para o novo local e migrou os dispositivos para o novo hub. Agora você precisa fazer alterações para que os dispositivos funcionem com o novo hub.
Para confirmar as alterações, aqui estão as etapas que você precisa executar:
Atualize cada dispositivo para alterar o nome do host do Hub IoT para apontar o nome do host do Hub IoT para o novo hub. Você deve fazer isso usando o mesmo método usado quando provisionou o dispositivo pela primeira vez.
Altere todos os aplicativos que você tem que se referem ao hub antigo para apontar para o novo hub.
Depois de terminar, o novo hub deve estar instalado e funcionando. O hub antigo não deve ter dispositivos ativos e estar em um estado desconectado.
Reverter as alterações
Se você decidir reverter as alterações, aqui estão as etapas a serem executadas:
Atualize cada dispositivo para alterar o Nome do Host do Hub IoT para apontar o Nome do Host do Hub IoT para o hub antigo. Você deve fazer isso usando o mesmo método usado quando provisionou o dispositivo pela primeira vez.
Altere todos os aplicativos que você tem que se referem ao novo hub para apontar para o hub antigo. Por exemplo, se você estiver usando o Azure Analytics, talvez seja necessário reconfigurar sua entrada do Azure Stream Analytics.
Exclua o novo hub.
Se você tiver recursos de roteamento, a configuração no hub antigo ainda deverá apontar para a configuração de roteamento correta e deverá funcionar com esses recursos depois que o hub for reiniciado.
Verificar os resultados
Para verificar os resultados, altere sua solução de IoT para apontar para seu hub no novo local e execute-o. Em outras palavras, execute as mesmas ações com o novo hub que você executou com o hub anterior e certifique-se de que elas funcionem corretamente.
Se você implementou o roteamento, teste e verifique se suas mensagens são roteadas para os recursos corretamente.
Limpeza
Não limpe até ter certeza de que o novo hub está funcionando e os dispositivos estão funcionando corretamente. Certifique-se também de testar o roteamento se estiver usando esse recurso. Quando estiver pronto, limpe os recursos antigos executando estas etapas:
Se ainda não o fez, exclua o hub antigo. Isso remove todos os dispositivos ativos do hub.
Se você tiver recursos de roteamento movidos para o novo local, poderá excluir os recursos de roteamento antigos.
Próximos passos
Você migrou um hub IoT para um novo hub em uma nova região, completo com os dispositivos. Para obter mais informações sobre como executar operações em massa no registro de identidade em um hub IoT, consulte Importar e exportar identidades de dispositivo do Hub IoT em massa.