Clientgroepen
Met clientgroepen kunt u een set clients groeperen op basis van gemeenschappelijke kenmerken. Het belangrijkste doel van clientgroepen is het configureren van autorisatie eenvoudig te maken. U kunt een clientgroep machtigen om een onderwerpruimte te publiceren of erop te abonneren. Alle clients in de clientgroep zijn gemachtigd om de actie publiceren of abonneren op de onderwerpruimte uit te voeren.
In een naamruimte geven we een standaardclientgroep met de naam '$all'. De clientgroep bevat alle clients in de naamruimte. Voor het gemak van testen kunt u $all gebruiken om machtigingen te configureren.
Notitie
- De naam van de clientgroep mag 3-50 tekens lang zijn
- Naam van clientgroep kan alfanumerieke tekens, afbreekstreepjes(-) en geen spaties bevatten
- De naam van de clientgroep moet uniek zijn per naamruimte
$all
is de standaardclientgroep die alle clients in de naamruimte bevat. Deze groep kan niet worden bewerkt of verwijderd
Overwegingen voor clientgroepen
U moet het aantal clientgroepen klein houden om machtigingen beheerbaar te maken.
Momenteel worden maximaal 10 clientgroepen per naamruimte ondersteund.
Zorg er tijdens het groeperen van clients voor dat het eenvoudiger is om de groep opnieuw te gebruiken om meerdere onderwerpruimten te publiceren en te abonneren. Daarom is het belangrijk om na te denken over de end-to-end-scenario's om de onderwerpen te identificeren waarop elke client publiceert of zich abonneert.
We raden u aan om de gemeenschappelijke kenmerken in de scenario's te identificeren om te voorkomen dat clientgroepen en onderwerpruimten worden gefragmenteerd. Stel de clientkenmerken algemeen genoeg in om eenvoudige groepering te bereiken en zeer complexe groepsquery's te voorkomen.
Clientgroepquery's maken
Als u een clientgroep wilt instellen, moet u een query maken waarmee een set clients wordt gefilterd op basis van hun kenmerkwaarden.
Hier volgen enkele voorbeeldquery's:
- (attributes.sensors = "motion" of attributes.sensors = "humidity") of attributes.type = "home-sensors"
- attributes.sensors IN ["motion", "humidity", "temperature"] en attributes.floor <= 5
- authenticationName IN ['client1', 'client2']
In groepsquery's zijn de volgende operanden toegestaan:
- Gelijkheidsoperator "="
- Haakjes ()om expressies te groeperen om de volgorde van bewerkingen te bepalen
- Logische operators "and" , "or" , "and" hebben een hogere prioriteit dan "or"
- Niet gelijk aan operator in twee vormen "<>" en "!="
- Kleiner dan "<", groter dan ">", kleiner dan "<=", groter dan ">=" voor lange gehele getallen
- 'IN' om te vergelijken met een set waarden
Voorbeeld van clientgroepschema
{
"properties": {
"description": "Description of client group",
"query": "attributes.b IN ['a', 'b', 'c']"
}
}
Configuratie van Azure Portal
Gebruik de volgende stappen om een clientgroep te maken:
Ga naar uw naamruimte in Azure Portal
Selecteer + Clientgroep onder Clientgroepen.
Voeg een clientgroepquery toe.
Selecteer Maken.
Azure CLI-configuratie
Gebruik de volgende opdrachten om een clientgroep te maken/weergeven/verwijderen
Clientgroep maken
az eventgrid namespace client-group create -g myRG --namespace-name myNS -n myCG
Clientgroep ophalen
az eventgrid namespace client-group show -g myRG --namespace-name myNS -n myCG
Clientgroep verwijderen
az eventgrid namespace client-group delete -g myRG --namespace-name myNS -n myCG
Volgende stappen
- Meer informatie over onderwerpruimten