Como reprovisionar dispositivos

Durante o ciclo de vida de uma solução de IoT, é comum mover dispositivos entre hubs IoT. Este tópico foi escrito para ajudar os operadores de solução a configurar políticas de reprovisionamento.

Para obter uma visão geral mais detalhada dos cenários de reprovisionamento, consulte Conceitos de reprovisionamento de dispositivos do Hub IoT.

Definir a política de reprovisionamento

As etapas a seguir configuram a política de reprovisionamento para um registro individual ou grupo de registro:

  1. Entre no portal do Azure e navegue até sua instância do Serviço de Provisionamento de Dispositivo.

  2. Selecione Gerenciar inscrições e, em seguida, selecione as guias Grupos de inscrição ou Inscrições individuais.

  3. Selecione o nome do grupo de inscrição ou inscrição individual que você deseja configurar para reprovisionamento.

  4. Use o menu suspenso em Política de reprovisionamento para escolher uma das seguintes políticas de reprovisionamento :

    • Nunca reprovisione o dispositivo.

    • Reprovisionar dispositivo e redefinir para o estado inicial: esta política atua quando dispositivos associados à entrada de registro enviam uma nova solicitação de provisionamento. Dependendo da configuração de entrada de registro, o dispositivo pode ser reatribuído a outro hub IoT. Se o dispositivo estiver alterando hubs IoT, o registro do dispositivo com o hub IoT inicial será removido. Os dados de configuração inicial que a instância do serviço de provisionamento recebeu quando o dispositivo foi provisionado são fornecidos ao novo hub IoT. Durante a migração, o status do dispositivo será relatado como Atribuição.

    • Reprovisionar dispositivo e migrar estado atual: esta política atua quando dispositivos associados à entrada de registro enviam uma nova solicitação de provisionamento. Dependendo da configuração de entrada de registro, o dispositivo pode ser reatribuído a outro hub IoT. Se o dispositivo estiver alterando hubs IoT, o registro do dispositivo com o hub IoT inicial será removido. Todas as informações de estado do dispositivo desse hub IoT inicial serão migradas para o novo hub IoT. Durante a migração, o status do dispositivo será relatado como Atribuição

  5. Selecione Salvar para habilitar o reprovisionamento do dispositivo com base nas alterações.

Configurar a política de alocação de inscrição

A política de alocação determina como os dispositivos associados ao registro serão alocados ou atribuídos a um hub IoT depois de reprovisionados. Para saber mais sobre políticas de alocação, consulte Como usar políticas de alocação.

As etapas a seguir configuram a política de alocação para o registro de um dispositivo:

  1. Entre no portal do Azure e navegue até sua instância do Serviço de Provisionamento de Dispositivo.

  2. Selecione Gerenciar inscrições e, em seguida, selecione as guias Grupos de inscrição ou Inscrições individuais.

  3. Selecione o nome do grupo de inscrição ou inscrição individual que você deseja configurar para reprovisionamento.

  4. Na página Detalhes do registro, selecione a guia Hubs IoT.

  5. Selecione uma das seguintes políticas de alocação:

    • Estática: essa política exige que um hub IoT desejado seja listado na entrada de registro para que um dispositivo seja provisionado. Esta política permite que você designe um único hub IoT ao qual você deseja atribuir dispositivos.

    • Distribuição ponderada uniforme: esta política distribui dispositivos entre hubs IoT com base no peso de alocação configurado em cada hub IoT. Hubs IoT com um peso de alocação maior são mais propensos a serem atribuídos. Se você estiver provisionando dispositivos para apenas um Hub IoT, recomendamos essa configuração. Esta é a predefinição.

    • Menor latência: esta política atribui dispositivos ao hub IoT que resultarão nas comunicações de menor latência entre o dispositivo e o Hub IoT. Essa opção permite que o dispositivo se comunique com o hub IoT mais próximo com base na localização.

    • Personalizado (usar a Função do Azure): esta política usa um webhook personalizado hospedado no Azure Functions para atribuir dispositivos a um ou mais hubs IoT. As políticas de alocação personalizadas oferecem mais controle sobre como os dispositivos são atribuídos aos seus hubs IoT. Para saber mais, consulte Compreender as políticas de alocação personalizadas.

  6. Em Hubs IoT de destino, selecione os hubs IoT vinculados que você deseja incluir em sua política de alocação. Opcionalmente, adicione um novo hub Iot vinculado usando o botão Adicionar link ao hub IoT.

    • Com a política de alocação de configuração estática, selecione o hub IoT ao qual você deseja que os dispositivos sejam atribuídos.

    • Com a política de alocação de distribuição ponderada uniformemente, os dispositivos serão colocados em hash nos hubs IoT selecionados com base em seus pesos de alocação configurados.

    • Com a política de alocação de latência mais baixa, os hubs IoT selecionados serão incluídos na avaliação de latência para determinar o hub IoT mais próximo para atribuição de dispositivo.

    • Com a política de alocação personalizada, selecione os hubs IoT que você deseja avaliar para atribuição pelo seu webhook de alocação personalizada .

  7. Selecione Guardar.

Enviar uma solicitação de provisionamento do dispositivo

Para que os dispositivos sejam reprovisionados com base nas alterações de configuração feitas nas seções anteriores, esses dispositivos devem solicitar o reprovisionamento.

A frequência com que um dispositivo envia uma solicitação de provisionamento depende do cenário. Ao projetar sua solução e definir uma lógica de reprovisionamento, há algumas coisas a considerar. Por exemplo:

  • Com que frequência espera que os seus dispositivos sejam reiniciados
  • As quotas e limites do DPS
  • Tempo de implementação esperado para a sua frota (implementação faseada vs tudo de uma só vez)
  • Capacidade de repetição implementada no código do cliente, conforme descrito na orientação geral Repetir no Centro de Arquitetura do Azure

Gorjeta

Recomendamos não provisionar em cada reinicialização do dispositivo, pois isso pode atingir os limites de limitação de serviço, especialmente ao reprovisionar vários milhares ou milhões de dispositivos de uma só vez. Em vez disso, você deve tentar usar a API de Pesquisa de Status de Registro de Dispositivo e tentar se conectar com essas informações ao Hub IoT. Se isso falhar, tente reprovisionar, pois as informações do Hub IoT podem ter sido alteradas. Lembre-se de que consultar o estado de registro contará como um novo registro de dispositivo, portanto, você deve considerar o limite de registro do dispositivo. Considere também a implementação de uma lógica de repetição apropriada, como back-off exponencial com randomização, conforme descrito na orientação geral de Repetir. Em alguns casos, dependendo dos recursos do dispositivo, é possível salvar as informações do Hub IoT diretamente no dispositivo para se conectar diretamente ao Hub IoT após o primeiro provisionamento usando o DPS. Se você optar por fazer isso, certifique-se de implementar um mecanismo de fallback caso ocorram erros específicos do Hub, por exemplo, considere os seguintes cenários:

  • Repita a operação Hub se o código de resultado for 429 (Muitas Solicitações) ou um erro no intervalo 5xx. Não realize repetições para outros erros.
  • Para erros 429, tente novamente somente após o tempo indicado no cabeçalho Retry-After.
  • Para erros 5xx, use back-off exponencial, com a primeira tentativa pelo menos 5 segundos após a resposta.
  • Em caso de erros que não sejam 429 e 5xx, registre-se novamente através do DPS
  • Idealmente, você também deve oferecer suporte a um método para acionar manualmente o provisionamento sob demanda.

Também recomendamos que se tenha em conta os limites de serviço ao planear atividades como enviar atualizações para a sua frota. Por exemplo, atualizar a frota de uma só vez pode fazer com que todos os dispositivos se registem novamente através do DPS (o que pode facilmente estar acima do limite da quota de registo) - Para esses cenários, considere planear atualizações de dispositivos por fases, em vez de atualizar toda a sua frota ao mesmo tempo.

Próximos passos