Grupos de clientes
Os grupos de clientes permitem agrupar um conjunto de clientes com base em semelhanças. A finalidade principais dos grupos de clientes é facilitar a configuração da autorização. Você pode autorizar um grupo de clientes para a publicação ou a assinatura em um espaço de tópico. Todos os clientes do grupo de clientes estão autorizados a executar a ação de publicação ou assinatura no espaço de tópico.
Em um namespace, fornecemos um grupo de clientes padrão chamado "$all". O grupo de clientes inclui todos os clientes do namespace. Para facilitar o teste, você pode usar o $all para configurar as permissões.
Observação
- O nome do grupo de clientes pode ter entre 3 e 50 caracteres
- Ele pode incluir caracteres alfanuméricos, hífen (-) e não pode conter espaços
- Também precisa ser exclusivo por namespace
$all
é o grupo de clientes padrão que inclui todos os clientes do namespace. Esse grupo não pode ser editado nem excluído
Considerações sobre o grupo de clientes
Você deve manter a quantidade de grupos de clientes pequena para tornar as permissões gerenciáveis.
Atualmente, há suporte para, no máximo, dez grupos de clientes por namespace.
Ao agrupar clientes, verifique se é mais fácil reutilizar o grupo para publicação e assinatura em vários espaços de tópicos. Para isso, é importante pensar nos cenários de ponta a ponta para identificar os tópicos que cada cliente faz publicações ou assinaturas.
Recomendamos identificar as semelhanças entre os cenários, a fim de evitar a fragmentação excessiva de grupos de clientes e espaços de tópicos. Defina os atributos de cliente de maneira genérica o suficiente para obter agrupamento simples e evitar consultas de grupo altamente complexas.
Como criar consultas de grupo de clientes?
Para configurar um grupo de clientes, você precisa criar uma consulta que filtre um conjunto de clientes com base nos valores de atributo.
Estes são alguns exemplos de consultas:
- (attributes.sensors = "motion" ou attributes.sensors = "humidity") ou attributes.type = "home-sensors"
- attributes.sensors IN ["motion", "humidity", "temperature"] e attributes.floor <= 5
- authenticationName IN ['client1', 'client2']
Em consultas de grupo, os seguintes operandos são permitidos:
- Operador de igualdade "="
- Parênteses "()" para agrupar expressões para controlar a ordem das operações
- Os operadores lógicos "and", "or","and" têm precedência maior que "ou"
- Operador Não é igual em duas formas "<>" e "!="
- Menor que "<", maior que ">", menor que e igual a "<=", maior que e igual a ">=" para valores inteiros longos
- "IN" para comparação com um conjunto de valores
Exemplo de esquema de grupo de clientes
{
"properties": {
"description": "Description of client group",
"query": "attributes.b IN ['a', 'b', 'c']"
}
}
Configuração do portal do Azure
Use as seguintes etapas para criar um grupo de clientes:
Acessar seu namespace no portal do Azure
Em Grupos de clientes, selecione + Grupo de clientes.
Adicione a consulta do grupo de clientes.
Escolha Criar
Configuração da CLI do Azure
Use os comandos a seguir para criar/mostrar/excluir um grupo de clientes
Criar um grupo de clientes
az eventgrid namespace client-group create -g myRG --namespace-name myNS -n myCG
Obter um grupo de clientes
az eventgrid namespace client-group show -g myRG --namespace-name myNS -n myCG
Excluir um grupo de clientes
az eventgrid namespace client-group delete -g myRG --namespace-name myNS -n myCG
Próximas etapas
- Saiba mais sobre os espaços de tópicos