Dela via


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:

  1. Gå till ditt namnområde i Azure-portalen

  2. Under Klientgrupper väljer du + Klientgrupp.

    Skärmbild av att lägga till en klientgrupp.

  3. Lägg till klientgruppsfråga.

    Skärmbild av konfiguration av klientgrupp.

  4. 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