Поделиться через


Группы клиентов

Группы клиентов позволяют группировать набор клиентов вместе на основе общих особенностей. Основная цель групп клиентов — упростить настройку авторизации. Вы можете авторизовать группу клиентов для публикации или подписки на пространство тем. Все клиенты в группе клиентов уполномочены выполнять действие публикации или подписки на пространство тем.

В пространстве имен мы предоставляем группу клиентов по умолчанию с именем "$all". Группа клиентов включает все клиенты в пространстве имен. Чтобы упростить тестирование, можно использовать $all для настройки разрешений.

Примечание.

  • Имя группы клиента может иметь длину 3–50 символов.
  • Имя группы клиентов может включать буквенно-цифровые буквы, дефис(-) и без пробелов
  • Имя группы клиентов должно быть уникальным для каждого пространства имен.
  • $all — это группа клиентов по умолчанию, которая включает все клиенты в пространстве имен. Эта группа не может быть изменена или удалена

Рекомендации по группам клиентов

Количество групп клиентов должно быть небольшим, чтобы сделать разрешения управляемыми.

В настоящее время не более 10 клиентских групп на каждое пространство имен, как поддерживается.

При группировке клиентов убедитесь, что группирование клиентов проще повторно использовать группу для публикации и подписки в нескольких разделах. Для этого важно продумать комплексные сценарии, чтобы определить темы, на которые каждый клиент публикует или подписывается.

Мы рекомендуем определить общие особенности в сценариях, чтобы избежать фрагментации групп клиентов и пространств тем. Задайте универсальные атрибуты клиента, чтобы обеспечить простую группирование и избежать сложных запросов групп.

Как создать запросы группы клиентов?

Чтобы настроить группу клиентов, необходимо создать запрос, который фильтрует набор клиентов на основе их значений атрибутов.

Ниже приведены несколько примеров запросов:

  • (attributes.sensor = "движение" или атрибуты.датчики = "влажность") или attributes.type = "home-sensor"
  • attributes.sensor IN ["движение", "влажность", "температура"] и attributes.floor <= 5
  • authenticationName IN ['client1', 'client2']

В групповых запросах разрешены следующие операнды:

  • Оператор равенства "="
  • Круглые скобки "()" для группирования выражений для управления порядком операций
  • Логические операторы "and", "or" и "и" имеют более высокий приоритет, чем "или"
  • Не равный оператор в двух формах "" и "<>!="
  • <Меньше "", больше> ", меньше", меньше<", чем "=", больше", чем ">=" для длинных целочисленных значений
  • "IN" для сравнения с набором значений

Пример схемы группы клиентов

{
  "properties": {
    "description": "Description of client group",
    "query": "attributes.b IN ['a', 'b', 'c']"
  }
}

Настройка портала Azure

Чтобы создать группу клиентов, выполните следующие действия.

  1. Перейдите в пространство имен в портал Azure

  2. В разделе "Группы клиентов" выберите +Группа клиентов.

    Снимок экрана: добавление группы клиентов.

  3. Добавьте запрос группы клиентов.

    Снимок экрана: конфигурация группы клиентов.

  4. Нажмите кнопку Создать

Настройка Azure CLI

Используйте следующие команды, чтобы создать или показать или удалить группу клиентов.

Создание группы клиентов

az eventgrid namespace client-group create -g myRG --namespace-name myNS -n myCG 

Получение группы клиентов

az eventgrid namespace client-group show -g myRG --namespace-name myNS -n myCG

Удаление группы клиентов

az eventgrid namespace client-group delete -g myRG --namespace-name myNS -n myCG

Следующие шаги