Klientgrupper
Med klientgrupper kan du gruppera en uppsättning klienter utifrån gemensamma principer. Huvudsyftet med klientgrupper är att göra det enkelt att konfigurera auktorisering. Du kan ge en klientgrupp behörighet att publicera eller prenumerera på ett ämnesutrymme. Alla klienter i klientgruppen har behörighet att utföra publicerings- eller prenumerationsåtgärden på ämnesutrymmet.
I ett namnområde tillhandahåller vi en standardklientgrupp med namnet "$all". Klientgruppen innehåller alla klienter i namnområdet. För att underlätta testningen kan du använda $all för att konfigurera behörigheter.
Kommentar
- Klientgruppens namn kan vara 3–50 tecken långt
- Klientgruppens namn kan innehålla alfanumeriskt, bindestreck(-) och inga blanksteg
- Klientgruppens namn måste vara unikt per namnområde
$all
är standardklientgruppen som innehåller alla klienter i namnområdet. Det går inte att redigera eller ta bort den här gruppen
Överväganden för klientgrupper
Du bör hålla antalet klientgrupper litet för att göra behörigheter hanterbara.
För närvarande stöds högst 10 klientgrupper per namnområde.
När du grupperar klienter ser du till att det är enklare att återanvända gruppen för att publicera och prenumerera på flera ämnesutrymmen. Därför är det viktigt att tänka igenom scenarierna från slutpunkt till slutpunkt för att identifiera de ämnen som varje klient publicerar eller prenumererar på.
Vi rekommenderar att du identifierar de gemensamma egenskaperna i scenarierna för att undvika överfragmentering av klientgrupper och ämnesutrymmen. Ange klientattributen som är tillräckligt generiska för att uppnå enkel gruppering och undvika mycket komplexa gruppfrågor.
Hur skapar jag klientgruppsfrågor?
Om du vill konfigurera en klientgrupp måste du skapa en fråga som filtrerar en uppsättning klienter baserat på deras attributvärden.
Här följer några exempelfrågor:
- (attributes.sensors = "motion" eller attributes.sensors = "humidity") eller attributes.type = "home-sensors"
- attributes.sensors IN ["motion", "humidity", "temperature"] och attributes.floor <= 5
- authenticationName IN ['client1', 'client2']
I gruppfrågor tillåts följande operander:
- Likhetsoperatorn "="
- Parenteser "()" till grupputtryck för att styra ordningen på åtgärder
- Logiska operatorer "och" , "eller" , "och" har högre prioritet än "eller"
- Inte lika med operatorn i två former "<>" och "!="
- Mindre än "<", större än ">", mindre än lika med "<=", större än lika med ">=" för långa heltalsvärden
- "IN" för att jämföra med en uppsättning värden
Exempel på klientgruppsschema
{
"properties": {
"description": "Description of client group",
"query": "attributes.b IN ['a', 'b', 'c']"
}
}
Konfiguration av Azure-portalen
Använd följande steg för att skapa en klientgrupp:
Gå till ditt namnområde i Azure-portalen
Under Klientgrupper väljer du + Klientgrupp.
Lägg till klientgruppsfråga.
Välj Skapa
Konfiguration av Azure CLI
Använd följande kommandon för att skapa/visa/ta bort en klientgrupp
Skapa klientgrupp
az eventgrid namespace client-group create -g myRG --namespace-name myNS -n myCG
Hämta klientgrupp
az eventgrid namespace client-group show -g myRG --namespace-name myNS -n myCG
Ta bort klientgrupp
az eventgrid namespace client-group delete -g myRG --namespace-name myNS -n myCG
Nästa steg
- Läs mer om ämnesutrymmen