Delen via


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 "="
  • 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:

  1. Ga naar uw naamruimte in Azure Portal

  2. Selecteer + Clientgroep onder Clientgroepen.

    Screenshot of adding a client group.

  3. Voeg een clientgroepquery toe.

    Screenshot of client group configuration.

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