Conceitos sobre Grupos (pré-visualização)

Um grupo no Azure Device Registry é um conjunto definido por consulta de recursos homogéneos que utiliza para direcionar operações em escala de frota, como atualizações de software. Na pré-visualização atual, um grupo tem como alvo dispositivos ligados ao Hub IoT. Em vez de gerir recursos individuais, define um filtro uma vez e reutiliza o grupo resultante onde for necessário agir sobre esse conjunto de recursos.

Diagrama que mostra um trabalho de atualização de software direcionado a um grupo de dispositivos e um trabalho de atualização de integração direcionado a dispositivos que estão a ser integrados dentro de um namespace do Azure Device Registry.

Importante

Os grupos do Azure Device Registry estão atualmente em pré-visualização.

Aplicabilidade ao serviço

Feature Operações IoT do Azure Hub IoT do Azure
Groups Não suportado nesta pré-visualização Preview

Nesta pré-visualização, os grupos suportam dispositivos ligados ao Hub IoT num namespace do Azure Device Registry.

Associação definida por consulta

Cria-se um grupo definindo um filtro contra propriedades de recursos suportadas, como fabricante ou revisão do software. Na pré-visualização, o único tipo de recurso Azure suportado é RegistryDevice. O Azure Device Registry avalia o filtro dentro do namespace e preenche o grupo com todos os recursos correspondentes.

Para grupos RegistryDevice, use os nomes das propriedades da linguagem de consulta na definição da consulta. Por exemplo:

WHERE manufacturer = 'Contoso' AND model = 'Sensor-v2'

Um dispositivo pode pertencer a mais do que um grupo ao mesmo tempo. Por exemplo, um dispositivo pode corresponder tanto a um grupo "firmware versão 2.1" como a um grupo "building 12". A adesão não é exclusiva, por isso pode formar grupos para diferentes necessidades operacionais sem duplicar dispositivos.

Propriedades e operadores suportados pelo RegistryDevice

A tabela seguinte mostra as propriedades e operadores suportados para consultas de filtro RegistryDevice:

Terminologia do utilizador Caminho da propriedade Tipo literal Operadores
Espaço de nomes UUID namespaceUuid cadeia (de caracteres) =, !=, <>
Nome name cadeia (de caracteres) =, !=, <>, IN, NIN
tipo de recurso resourceType cadeia (de caracteres) =, !=, <>
localização location cadeia (de caracteres) =, !=, <>, IN, NIN
UUID do dispositivo uuid cadeia (de caracteres) =, !=, <>, IN, NIN
estado de aprovisionamento provisioningState cadeia (de caracteres) =, !=, <>, IN, NIN
ID externo do dispositivo externalDeviceId cadeia (de caracteres) =, !=, <>, IN, NIN
ativado, desativado enabled string enum =, !=, <>; os valores são 'Enabled' e 'Disabled'
fabricante manufacturer cadeia (de caracteres) =, !=, <>
modelo model cadeia (de caracteres) =, !=, <>
Revisão de software softwareRevision cadeia (de caracteres) =, !=, <>
Chave da tag tags.<key> cadeia (de caracteres) =, !=, <>; profundidade máxima do percurso é 4

O RegistryDevice suporta propriedades e operadores de atualização

A tabela seguinte mostra as propriedades e operadores suportados para RegistryDevice consultas de filtro dentro do attributes.update âmbito:

Caminho da propriedade Tipo literal Operadores
attributes.update.deviceClassId cadeia (de caracteres) =, !=, <>, IN, NIN
attributes.update.installedUpdateId.provider cadeia (de caracteres) =, !=, <>, IN, NIN
attributes.update.installedUpdateId.name cadeia (de caracteres) =, !=, <>, IN, NIN
attributes.update.installedUpdateId.version cadeia (de caracteres) =, !=, <>, IN, NIN
attributes.update.latestUpdateJobInfo.state cadeia (de caracteres) =, !=, <>, IN, NIN
attributes.update.latestUpdateJobInfo.updateId.provider cadeia (de caracteres) =, !=, <>, IN, NIN
attributes.update.latestUpdateJobInfo.updateId.name cadeia (de caracteres) =, !=, <>, IN, NIN
attributes.update.latestUpdateJobInfo.updateId.version cadeia (de caracteres) =, !=, <>, IN, NIN
attributes.update.agentInfo.compatibilityProperties.<key> cadeia (de caracteres) =, !=, <>; profundidade máxima do caminho é 5
attributes.update.agentInfo.agentProfile número inteiro =, !=, <>, IN, NIN

Pode combinar condições com AND, OR, NOT, parênteses e comparações em relação a null. Funções escalares como STARTSWITH, CONTAINS, IS_NULL e IS_DEFINED, comparações campo a campo e caminhos properties.* ou attributes.* arbitrários não são suportadas.

Associação em cache e atualização

A pertença ao grupo é calculada e armazenada em cache no tempo de atualização — não é avaliada em tempo real. Quando crias um grupo, ou quando atualizas um existente, o Azure Device Registry reavalia o filtro e atualiza a lista de membros em cache.

Desencadeias uma atualização de grupo através da operação RefreshMembers. A atualização é assíncrona, e um grupo pode ter um dos estados Creating, RefreshingMembers ou Ready. Pode listar membros assim que o grupo atingir o estatuto Ready.

Como a associação é armazenada em cache, a lista de membros de um grupo pode ficar obsoleta entre atualizações. Se as propriedades de um recurso mudarem, ou se um novo recurso começar a corresponder ao filtro, essa alteração não se reflete na lista de membros de um grupo de atualização manual até que a próxima atualização esteja concluída. O serviço impõe um intervalo mínimo de uma hora entre as atualizações manuais.

Filtros imutáveis e ciclo de vida

Pode editar o nome e a descrição de um grupo. O filtro é fixo na criação; para direcionar um conjunto diferente de dispositivos, cria ou clona um grupo com um novo filtro.

Para direcionar um conjunto diferente ou ajustado de recursos, crie um grupo separado com o novo filtro. Eliminar um grupo remove apenas o grupo; os seus dispositivos membros permanecem.

Gerir grupos no portal Azure (pré-visualização)

Nesta pré-visualização, a página de Grupos (pré-visualização) na navegação do espaço de nomes lista os seus grupos e abre uma vista de detalhes de grupo. A vista detalhada mostra os essenciais do grupo, uma definição de filtro de consulta apenas de leitura, e o número atual de membros e a data/hora da última atualização. Como o filtro está definido na criação e não pode ser editado, use a vista de detalhe para confirmar quais os dispositivos que um grupo atinge. A lista de membros mostra até 10 dispositivos, por isso trate-a como uma verificação pontual em vez de uma lista completa de um grande grupo.

A partir da lista de grupos ou da vista de detalhe do grupo, pode realizar as seguintes ações:

  • Crie um grupo a partir da vista de lista, fornecendo um nome obrigatório, uma descrição opcional e um filtro de consulta.
  • Clone um grupo existente a partir da lista ou da vista de detalhes. Clonar é a forma prática de começar pela definição de um grupo quando é necessário ajustar os critérios de adesão, porque não se pode editar o filtro original.
  • Editar o nome e a descrição de um grupo a partir da vista de detalhes. O filtro de consulta permanece imutável.
  • Atualize a associação em cache de um grupo na vista de lista ou de detalhes, sujeito aos limites de atualização descritos em Associação em cache e atualização.
  • Apaga um grupo da vista de lista ou de detalhes. Confirmas a eliminação introduzindo o nome do grupo.

Relação com tarefas e atualizações de software

Os grupos existem independentemente de qualquer capacidade individual que os consome. Um grupo é um recurso reutilizável de gestão de frotas que podes referenciar a partir de vários locais. Por exemplo, um Job utiliza um grupo como alvo para uma operação padrão de atualização de software.

Como um grupo pode ser referenciado por mais do que um trabalho ou fluxo de trabalho, eliminar um grupo ou alterar a sua disponibilidade pode afetar tudo o que depende dele. Planeie alterações ao ciclo de vida do grupo tendo essa dependência em conta.

Limites e restrições de pré-visualização

Os seguintes limites aplicam-se atualmente aos grupos:

  • Até 100 grupos por subscrição.
  • Um intervalo mínimo de uma hora entre as atualizações manuais.
  • ListMembers Tamanho de página de 1.000, sem filtragem ou ordenação nesta pré-visualização.