Compartilhar via


Migrar dispositivos para Hub IoT do Azure

Se você decidir migrar de uma solução baseada no IoT Central para uma solução baseada em Hub IoT, precisará alterar a configuração de todos os dispositivos conectados atualmente ao seu aplicativo. A ferramenta migrador de IoTC automatiza esse processo de migração de dispositivo.

A ferramenta migradora:

  • Cria registros de dispositivo no hub IoT para os dispositivos que atualmente se conectam ao aplicativo IoT Central.
  • Usa um comando para enviar o escopo de ID da instância do Serviço de Provisionamento de Dispositivos (DPS) associada ao hub IoT para seus dispositivos.

A ferramenta requer que seus dispositivos conectados implementem um comando DeviceMove definido no modelo de dispositivo em seu aplicativo IoT Central. O conteúdo do comando é o escopo da ID da instância de DPS de destino. Quando um dispositivo recebe esse comando, ele deve:

  • Parar de enviar telemetria e desconecte-se do aplicativo IoT Central.
  • Provisionar-se com o DPS usando o novo escopo de ID no conteúdo do comando.
  • Usar o resultado do provisionamento para se conectar ao hub IoT de destino e começar a enviar telemetria novamente.

Dica

Você também pode usar a ferramenta migradora para migrar dispositivos entre aplicativos do IoT Cental ou de um hub IoT para um aplicativo do IoT Central.

Minimizar a interrupção

Para minimizar a interrupção, você pode migrar os dispositivos em fases. A ferramenta de migração usa grupos de dispositivos para migrar dispositivos do IoT Central para o hub IoT. Divida sua frota de dispositivos em grupos de dispositivos, como dispositivos no Texas, dispositivos em Nova York e dispositivos no restante dos EUA. Depois, migre cada grupo de dispositivos independentemente.

Aviso

Não é possível adicionar dispositivos não atribuídos a um grupo de dispositivos. Portanto, no momento, não é possível usar a ferramenta de migração para migrar dispositivos não atribuídos.

Minimize o impacto nos negócios seguindo estas etapas:

  • Crie a solução de PaaS e execute-a em paralelo com o aplicativo do IoT Central.

  • Configure a exportação contínua de dados no aplicativo do IoT Central e as rotas apropriadas para o hub IoT da solução de PaaS. Transforme os dois canais de dados e armazene os dados no mesmo data lake.

  • Migre os dispositivos em fases e verifique cada fase. Se algo não ocorrer conforme o planejado, faça failback dos dispositivos para o IoT Central.

  • Depois de migrar todos os dispositivos para a solução de PaaS e exportar totalmente os dados do IoT Central, você poderá remover os dispositivos da solução IoT Central.

Após a migração, os dispositivos não são excluídos automaticamente do aplicativo do IoT Central. Esses dispositivos continuam sendo cobrados como encargos do IoT Central para todos os dispositivos provisionados no aplicativo. Quando você remove esses dispositivos do aplicativo do IoT Central, você não recebe cobrança por eles. Por fim, remova o aplicativo do IoT Central.

Exportar os dados existentes do IoT Central

Você pode configurar o IoT Central para exportar continuamente os valores de telemetria e de propriedade. Os destinos de exportação são armazenamentos de dados, como Azure Data Lake, Hubs de Eventos e Webhooks. Você pode exportar modelos de dispositivo usando a interface do usuário do IoT Central ou a API REST. A API REST permite exportar os usuários em um aplicativo do IoT Central.

Pré-requisitos

Você precisa dos seguintes pré-requisitos para seguir as etapas de migração do dispositivo:

Requisitos do dispositivo

Os dispositivos que deseja migrar devem implementar o comando DeviceMove em um componente chamado migração. O conteúdo do comando contém o escopo da ID da instância DPS de destino. O repositório de ferramentas do migrador inclui um modelo de componente DTDL de exemplo que define o comando DeviceMove. Você pode adicionar esse componente aos modelos de dispositivo existentes.

A ferramenta pressupõe que o nome do componente é migration e que a ID da interface é dtmi:azureiot:DeviceMigration;1:

Screenshot that highlights the component name and interface ID.

O repositório de ferramentas também inclui o código de exemplo que mostra como um dispositivo deve implementar o comando DeviceMove.

Configuração da ferramenta

Conclua as seguintes tarefas de instalação para se preparar para a migração:

Aplicativo do Microsoft Entra

A ferramenta migradora requer um registro de aplicativo do Microsoft Entra para permitir que ele se autentique com sua assinatura do Azure:

  1. Navegue até Portal do Azure > Microsoft Entra ID > Registros de aplicativo.

  2. Selecione Novo Registro.

  3. Insira um nome como "Aplicativo migrador de IoTC".

  4. Selecione Contas em qualquer diretório organizacional (Qualquer diretório do Microsoft Entra – Multilocatário) e contas pessoais da Microsoft (por exemplo, Skype e Xbox).

  5. Selecione SPA (Aplicativo de Página Única).

  6. Use http://localhost:3000 como o URI de Redirecionamento. Adicione esse valor à configuração do aplicativo migrador posteriormente.

  7. Selecione Registrar.

  8. Anote os valores da ID do Diretório (locatário) e da ID do Aplicativo (cliente). Você usará esses valores mais tarde para configurar o aplicativo migrador:

    Screenshot that shows the Microsoft Entra application in the Azure portal.

  9. Navegue até a página Manifesto no registro e substitua o conteúdo do requiredResourceAccess pela seguinte configuração:

    [
      {
        "resourceAppId": "9edfcdd9-0bc5-4bd4-b287-c3afc716aac7",
        "resourceAccess": [
          {
            "id": "73792908-5709-46da-9a68-098589599db6",
            "type": "Scope"
          }
        ]
      },
      {
        "resourceAppId": "797f4846-ba00-4fd7-ba43-dac1f8f63013",
        "resourceAccess": [
          {
            "id": "41094075-9dad-400e-a0bd-54e686782033",
            "type": "Scope"
          }
        ]
      },
      {
        "resourceAppId": "00000003-0000-0000-c000-000000000000",
        "resourceAccess": [
          {
            "id": "e1fe6dd8-ba31-4d61-89e7-88639da4683d",
            "type": "Scope"
          }
        ]
      }
    ]
    
  10. Salve as alterações.

Adicionar as chaves de dispositivo ao DPS

Adicione as chaves de assinatura de acesso compartilhado ou certificados X.509 do aplicativo IoT Central ao grupo de alocação DPS.

Se seus dispositivos usarem assinaturas de acesso compartilhado para autenticar em seu aplicativo do IoT Central:

  • No aplicativo do IoT Central, acesse Permissões > Grupos de conexão de dispositivo.
  • Selecione o grupo de registro que seus dispositivos usam.
  • Anote as chaves primária e secundária.
  • No Portal do Azure, navegue até sua instância do DPS.
  • Selecione Gerenciar registros.
  • Crie um novo registro e defina o tipo de atestado como Chave Simétrica, desmarque chaves de geração automática e adicione as chaves primárias e secundárias das quais você anotou.
  • Selecione Salvar.

Se seus dispositivos usarem certificados X.509 para autenticar em seu aplicativo IoT Central:

  • No Portal do Azure, navegue até sua instância do DPS.
  • Selecione Certificados e, em seguida, selecione Adicionar.
  • Carregue e verifique os certificados X.509 raiz ou intermediário que você usa em seu aplicativo IoT Central.
  • Selecione Gerenciar registros.
  • Crie um novo registro e defina o tipo de atestado como Certificado e selecione os certificados primários e secundários carregados.
  • Selecione Salvar.

Baixar e configurar a ferramenta migradora

Baixe ou clone uma cópia da ferramenta migradora para o computador local:

git clone https://github.com/Azure/iotc-migrator.git

Na raiz do repositório baixado, crie um arquivo .env. Atualize os valores REACT_APP_AAD_APP_CLIENT_ID, REACT_APP_AAD_APP_TENANT_ID e REACT_APP_AAD_APP_REDIRECT_URI com os valores do registro de aplicativo do Microsoft Entra criado anteriormente. Em seguida, salve as alterações:

PORT=3000
REACT_APP_AAD_APP_CLIENT_ID=<your-AAD-Application-(client)-ID>
REACT_APP_AAD_APP_TENANT_ID=<your-AAD-Directory-(tenant)-ID>
REACT_APP_AAD_APP_REDIRECT_URI=http://localhost:3000

Dica

Verifique se o REACT_APP_AAD_APP_REDIRECT_URI corresponde ao URI de redirecionamento que você usou no registro de aplicativo do Microsoft Entra.

Em seu ambiente de linha de comando, navegue até a raiz do repositório iotc-migrator. Em seguida, execute os seguintes comandos para instalar os pacotes de node.js necessários e, em seguida, execute a ferramenta:

npm install
npm start

Depois que o aplicativo migrador for iniciado, navegue até http://localhost:3000 para exibir a ferramenta. Entre quando for solicitado.

Migrar os dispositivos

Use a ferramenta para migrar seus dispositivos em lotes. Insira os detalhes da migração na página Nova migração:

  1. Insira um nome para a migração.
  2. Selecione um grupo de dispositivos em seu aplicativo IoT Central.
  3. Selecione um modelo de dispositivo que inclua a definição de comando DeviceMove.
  4. Selecione Mover para sua própria Hub IoT do Azure.
  5. Selecione a instância DPS vinculada ao hub IoT de destino.
  6. Selecione Migrar. A ferramenta solicita que você copie as chaves do aplicativo IoT Central para o grupo de registro do DPS. Você concluiu essa etapa anteriormente na etapa Adicionar as chaves do dispositivo ao DPS.

Screenshot of migration tool that shows the migration definition.

A ferramenta agora registra todos os dispositivos conectados que correspondem ao filtro de dispositivo de destino no hub IoT de destino. Em seguida, a ferramenta cria um trabalho em seu aplicativo IoT Central para chamar o método DeviceMove em todos esses dispositivos. O conteúdo do comando contém o escopo da ID da instância DPS de destino.

Verificar migração

Use a página Status da migração na ferramenta migradora para monitorar o progresso:

Screenshot that shows the migration status page in the tool.

Selecione um trabalho na página Status da migração para exibir o status do trabalho em seu aplicativo do IoT Central. Use esta página para exibir o status dos dispositivos individuais no trabalho:

Screenshot showing completed migration status for IoT Central job.

Dispositivos que migraram com êxito:

  • Mostrar como Desconectado na página de dispositivos em seu aplicativo IoT Central.

  • Mostrar como registrado e provisionado no hub IoT:

    Screenshot of IoT Hub in the Azure portal that shows the provisioned devices.

  • Agora estão enviando telemetria para o hub IoT

    Screenshot of IoT Hub in the Azure portal that shows telemetry metrics for the migrated devices.