Gerenciar grupos de dispositivos para a Atualização de Dispositivo do Azure para Hub IoT

A Atualização de Dispositivo do Azure para Hub IoT permite implantar atualizações em grupos definidos pelo usuário de dispositivos IoT. Cada dispositivo gerenciado de Atualização de Dispositivo é membro de um grupo de dispositivos, mas definir grupos de dispositivos é opcional. Como alternativa, você pode implantar no grupo de dispositivos padrão que a Atualização de Dispositivo fornece.

Se você criar e atribuir aos dispositivos valores de marcação da Atualização de Dispositivos definidos pelo usuário, a Atualização de Dispositivos criará automaticamente grupos com base nas marcações atribuídas e nas propriedades de compatibilidade dos dispositivos. Para cada grupo de dispositivos, a Atualização de Dispositivo pode criar vários subgrupos que têm classes de dispositivo diferentes. O Device Update coloca dispositivos que não possuem tags no grupo de dispositivos default.

Este artigo descreve como usar o portal do Azure ou a CLI do Azure para criar e gerenciar grupos e marcas de dispositivo definidas pelo usuário. Para implantar atualizações em grupos de dispositivos definidos pelo usuário ou padrão, consulte Implantar uma atualização de dispositivo.

Pré-requisitos

Antes de começar, observe os seguintes pré-requisitos:

  • Os dispositivos devem ser integrados com sucesso na Atualização de Dispositivo antes que a atribuição de grupos possa ocorrer.
  • Os dispositivos devem informar um ID de modelo Plug and Play suportado. Para uma lista de IDs de modelo suportados, veja Modelos de Atualização de Dispositivo.
  • Para cenários de IoT Edge, o agente de Atualização de Dispositivo roda como um módulo e deve reportar o ID do modelo através da identidade apropriada.

Adicione tags aos seus dispositivos

Para atribuir um grupo de dispositivos do Device Update, adicione a tag ADUGroup a um conjunto de destino de dispositivos conectados ao Device Update no Hub IoT. Adicione a tag ao gêmeo do dispositivo se o agente de Atualização de Dispositivo estiver provisionado com identidade do dispositivo, ou ao gêmeo do módulo correspondente se o agente de Atualização de Dispositivo estiver provisionado com identidade de módulo.

A tag Device Update ADUGroup utiliza um formato de chave-valor, conforme mostrado no seguinte exemplo de gêmeo de dispositivo ou de módulo:

"etag": "",
"deviceId": "",
"deviceEtag": "",
"version": <version>,
"tags": {
   "ADUGroup": "<CustomTagValue>"
}

Importante

Adicionar a marca ADUGroup não adiciona um dispositivo ao Device Update. A atribuição de grupos só ocorre depois que a Atualização de Dispositivo reconhece e gerencia o dispositivo com sucesso.

Para obter mais informações e exemplos da sintaxe de gêmeo JSON, consulte Entender e usar dispositivos gêmeos ou Entender e usar módulos gêmeos.

A marca ADUGroup tem as seguintes propriedades e limitações:

  • Um dispositivo só pode ter uma marca ADUGroup e pertencer a apenas um grupo de Atualização de Dispositivo por vez. Adicionar outra tag chamada de ADUGroup substitui o valor existente de ADUGroup.
  • Você pode usar qualquer valor para a tag, exceto os valores reservados Uncategorized e $default.
  • O valor da etiqueta não pode ter mais de 200 caracteres.
  • O valor da etiqueta pode conter caracteres alfanuméricos e os seguintes caracteres especiais: . - _ ~.
  • Os valores de nome da tag ADUGroup e do nome do grupo diferenciam letras maiúsculas de minúsculas.

As seções a seguir descrevem várias maneiras de adicionar e atualizar a tag.

Adicionar tags usando SDKs

Você pode atualizar o dispositivo ou módulo gêmeo com a marca apropriada usando RegistryManager depois de registrar o dispositivo com a Atualização do Dispositivo. Para obter mais informações, consulte os seguintes artigos:

Adicionar tags usando tarefas

Você pode agendar tarefas para adicionar ou atualizar tags do Device Update em vários dispositivos. Para obter exemplos de operações de trabalho, confira Agendar trabalhos em vários dispositivos. Você pode atualizar dispositivos gêmeos ou módulos gêmeos usando trabalhos dependendo de o agente de Atualização de Dispositivo estar provisionado com uma identidade de dispositivo ou módulo. Para obter mais informações, confira Agendar e transmitir tarefas.

Observação

Esta operação é contabilizada na cota de mensagens do Hub IoT. Se você alterar 50.000 ou mais marcas de dispositivo ou módulo gêmeo de cada vez, poderá exceder sua cota diária de mensagens do Hub IoT e precisar comprar mais unidades do Hub IoT. Para obter mais informações, confira Cotas e limitação.

Adicionar marcas atualizando gêmeos

Você também pode adicionar ou atualizar a marca ADUGroup diretamente no dispositivo ou módulo gêmeo.

  1. No portal do Azure, navegue para o hub IoT.

  2. Selecione Dispositivos no Gerenciamento de dispositivos no painel de navegação esquerdo. Se você tiver um dispositivo IoT Edge, selecione IoT Edge.

  3. Na página Dispositivos, selecione seu dispositivo.

  4. Na página do dispositivo, selecione Dispositivo gêmeo no menu superior ou selecione a identidade do módulo em identidades do módulo e selecione o módulo gêmeo.

  5. No twin, adicione a ADUGroup tag com um valor definido pelo usuário. Para atualizar um valor de marca de ADUGroup existente, substitua-o por um valor diferente definido pelo usuário.

        "tags": {
                "ADUGroup": "<CustomTagValue>"
                }
    
  6. Selecione Salvar.

Exibir grupos de dispositivos

  1. No portal do Azure, vá ao hub IoT conectado à sua instância de Atualização de Dispositivo.

  2. Selecione a opção Atualizações em Gerenciamento de Dispositivos na navegação à esquerda.

  3. Selecione a guia Grupos e Implantações.

    Captura de tela de dispositivos desagrupados.

Quando você cria um grupo, o quadro de conformidade e a lista de grupos são atualizados. O gráfico de conformidade da Atualização de Dispositivo mostra a contagem de dispositivos em vários estados de conformidade: Com a atualização mais recente, Novas atualizações disponíveis e Atualizações em andamento. Para obter mais informações, confira a Conformidade da Atualização de Dispositivo.

A lista de grupos mostra os grupos de Atualização de Dispositivos existentes e quaisquer atualizações disponíveis para os dispositivos nesses grupos. Dispositivos que não atendem aos requisitos de classe de dispositivo do grupo aparecem em um grupo correspondente inválido. Você pode implantar a melhor atualização disponível para um grupo nessa exibição selecionando Implantar ao lado do grupo.

Captura de tela da exibição de conformidade de atualização.

Exibir detalhes do dispositivo para um grupo

  1. Na guia Grupos e Implantações, selecione o nome do grupo.

    A página Detalhes do Grupo mostra o gráfico de conformidade de atualização com a contagem de dispositivos membros do grupo em vários estados de conformidade e a lista de dispositivos membros do grupo com suas propriedades de atualização de dispositivo.

    Captura de tela da exibição de detalhes do grupo de dispositivos.

  2. Selecione um dispositivo individual em um grupo para acessar a página de detalhes do dispositivo no Hub IoT.

    Captura de tela da exibição de detalhes dos dispositivos.

    Captura de tela da exibição de detalhes do dispositivo no hub IoT.

Remover um dispositivo de um grupo de dispositivos

Para remover um dispositivo de um grupo de dispositivos, altere o valor da tag ADUGroup para null no dispositivo gêmeo e selecione Salvar.

    "tags": {
            "ADUGroup": "null"
            }

Essa ação exclui a marca de grupo do dispositivo gêmeo e remove o dispositivo do grupo de dispositivos.

Excluir um grupo de dispositivos

A Atualização de Dispositivo cria automaticamente grupos de dispositivos e retém grupos de dispositivos, classes de dispositivo e implantações para registros históricos ou outras necessidades do usuário, em vez de limpá-los automaticamente. Você pode excluir grupos de dispositivos por meio do portal do Azure selecionando e excluindo individualmente os grupos ou chamando o comando az iot du device group delete CLI do Azure no grupo.

Para ser excluído, um grupo deve atender aos seguintes requisitos:

  • Não deve ser um grupo default.
  • Não deve haver dispositivos associados. Ou seja, nenhum dispositivo provisionado na instância de Atualização de Dispositivo pode ter uma marca ADUGroup com um valor que corresponda ao nome do grupo.
  • Não deve ter implantações ativas ou canceladas associadas.

Observação

Se você não conseguir excluir um grupo que atenda aos requisitos anteriores, verifique se há dispositivos em estado não íntegro marcados como parte do grupo. Dispositivos não saudáveis não podem receber uma implantação, por isso não aparecem diretamente na lista de dispositivos membros de um grupo.

Para verificar se você tem algum dispositivo com problemas:

  1. No portal do Azure, navegue para o hub IoT.
  2. Selecione Atualizações na navegação à esquerda e selecione a guia Diagnóstico.
  3. Expanda a seção Localizar dispositivos ausentes.

Se você tiver dispositivos em estado não íntegro marcados como parte do grupo, deverá alterar o valor da tag ou excluir o dispositivo antes de poder excluir o grupo.

Se um dispositivo for atribuído a um nome de grupo excluído novamente, a Atualização de Dispositivo recriará automaticamente o grupo, mas não haverá nenhum dispositivo ou histórico de implantação associado.

Troubleshooting

Se você marcar um dispositivo mas não vê um grupo, tente os seguintes passos de solução de problemas:

  • Verifique se a tag está configurada corretamente.
  • Verifique se o dispositivo inclui um ID de modelo Plug and Play válido e uma etiqueta válidaADUGroup.
  • Confirme se as rotas de mensagens do Hub IoT estão corretamente configuradas. Para mais informações, veja Roteamento de mensagens.
  • Certifique-se de que o Hub IoT esteja corretamente associado à instância de Atualização de Dispositivo.
  • Execute os diagnósticos do Device Update e a verificação do agente.
  • Execute a sincronização do dispositivo se necessário.

Para mais informações, veja Plug and Play no Azure Device Update e Device Update para a verificação do agente do Hub IoT do Azure.