Создание концентратора уведомлений Azure с помощью Azure CLI

Центры уведомлений Azure обеспечивают простой в использовании и масштабируемый механизм отправки push-уведомлений, который позволяет отправлять уведомления на любую платформу (iOS, Android, Windows, Kindle, Baidu и т. д.) из любой серверной части (облачной или локальной). Дополнительные сведения о службе см. в статье Что такое Центры уведомлений Azure?.

В этом кратком руководстве показано, как создать концентратор уведомлений с помощью Azure CLI. В первом разделе приводятся шаги по созданию пространства имен Центров уведомлений. Во втором разделе приведены пошаговые инструкции по созданию концентратора уведомлений в существующем пространстве имен. Вы также узнаете, как создать пользовательскую политику доступа.

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

Предварительные требования

  • Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см. в статье Краткое руководство по Bash в Azure Cloud Shell.

  • Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в разделе Запуск Azure CLI в контейнере Docker.

    • Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, приведены в статье Вход с помощью Azure CLI.

    • Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.

    • Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.

Важно!

Для работы с концентраторами уведомлений требуется Azure CLI версии не ниже 2.0.67. Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.

Создание группы ресурсов

Центры уведомлений Microsoft Azure, как и все ресурсы Azure, должны быть развернуты в группе ресурсов. Группы ресурсов позволяют организовать соответствующие ресурсы Azure и управлять ими. Дополнительные сведения о группе ресурсов см. в статье Azure Resource Manager.

Для работы с этим кратким руководством создайте группу ресурсов с именем spnhubrg в регионе eastus с помощью следующей команды az group create.

az group create --name spnhubrg --location eastus

Создание пространства имен Центров уведомлений

  1. Создайте пространство имен для концентраторов уведомлений.

    Пространство имен содержит один или несколько концентраторов, и имя должно быть уникальным для всех подписок Azure и иметь длину не менее шести символов. Чтобы проверить доступность имени, выполните команду az notification-hub namespace check-availability.

    az notification-hub namespace check-availability --name spnhubns
    

    Azure CLI отвечает на запрос о доступности, отображая следующие выходные данные консоли:

    {
    "id": "/subscriptions/yourSubscriptionID/providers/Microsoft.NotificationHubs/checkNamespaceAvailability",
    "isAvailable": true,
    "location": null,
    "name": "spnhubns",
    "properties": false,
    "sku": null,
    "tags": null,
    "type": "Microsoft.NotificationHubs/namespaces/checkNamespaceAvailability"
    }
    

    Обратите внимание на вторую строку в ответе Azure CLI ("isAvailable": true). Эта строка будет иметь значение false, если необходимое имя, указанное для пространства имен, недоступно. Убедившись в доступности имени, выполните команду az notification-hub namespace create, чтобы создать пространство имен.

    az notification-hub namespace create --resource-group spnhubrg --name spnhubns  --location eastus --sku Free
    

    Если элемент --name, предоставленный для команды az notification-hub namespace create, недоступен или не соответствует правилам именования и ограничениям для ресурсов Azure, Azure CLI отобразит следующие выходные данные консоли:

    #the name is not available
    The specified name is not available. For more information visit https://aka.ms/eventhubsarmexceptions.
    
    #the name is invalid
    The specified service namespace is invalid.
    

    Если первое имя, которое вы использовали, оказалось неподходящим, выберите другое имя для нового пространства имен и снова выполните команду az notification-hub namespace create.

    Примечание

    На этом и последующих шагах вам необходимо заменять значение параметра --namespace в каждой команде Azure CLI, которую вы копируете из этого краткого руководства.

  2. Получите список пространств имен.

    Чтобы просмотреть сведения о новом пространстве имен, выполните команду az notification-hub namespace list. Параметр --resource-group является необязательным, если требуется просмотреть все пространства имен для подписки.

    az notification-hub namespace list --resource-group spnhubrg
    

Создание концентраторов уведомлений

  1. Создайте первый концентратор уведомлений.

    Теперь можно создать один или несколько концентраторов уведомлений в новом пространстве имен. Чтобы создать концентратор уведомлений, выполните команду az notification-hub create.

    az notification-hub create --resource-group spnhubrg --namespace-name spnhubns --name spfcmtutorial1nhub --location eastus
    
  2. Создайте второй концентратор уведомлений.

    Вы можете создать несколько концентраторов уведомлений в одном пространстве имен. Чтобы создать второй концентратор уведомлений в том же пространстве имен, выполните команду az notification-hub create еще раз с другим именем концентратора.

    az notification-hub create --resource-group spnhubrg --namespace-name spnhubns --name mysecondnhub --location eastus 
    
  3. Получите список концентраторов уведомлений.

    С каждой выполненной командой Azure CLI возвращает либо успешное сообщение, либо сообщение об ошибке. Тем не менее, вы всегда можете запросить список концентраторов уведомлений. Для этой цели была разработана команда az notification-hub list.

    az notification-hub list --resource-group spnhubrg --namespace-name spnhubns --output table
    

Работа с политиками доступа

  1. Центры уведомлений Azure используют безопасность на базе подписанного URL-адреса (SAS) с помощью политик доступа. При создании концентратора уведомлений автоматически создаются две политики. Строки подключения из этих политик необходимы для настройки push-уведомлений. Команда az notification-hub authorization-rule list предоставляет список имен политик и их соответствующих групп ресурсов.

    az notification-hub authorization-rule list --resource-group spnhubrg --namespace-name spnhubns --notification-hub-name spfcmtutorial1nhub --output table
    

    Важно!

    Не используйте в приложении политику DefaultFullSharedAccessSignature. Эту политику можно использовать только в серверной части. Используйте только политики доступа Listen в клиентском приложении.

  2. Если вы хотите создать дополнительные правила авторизации с информативными именами, можно создать и настроить собственную политику доступа с помощью команды az notification-hub authorization-rule create. Параметр --rights представляет собой список разрешений с разделителями-пробелами, которые вы хотите назначить.

    az notification-hub authorization-rule create --resource-group spnhubrg --namespace-name spnhubns --notification-hub-name spfcmtutorial1nhub --name spnhub1key --rights Listen Manage Send
    
  3. Для каждой политики доступа определены два набора ключей и строк подключения. Они потребуются позже, чтобы настроить концентратор уведомлений. Чтобы получить список ключей и строк подключения для политики доступа Центров уведомлений, выполните команду az notification-hub authorization-rule list-keys.

    # query the keys and connection strings for DefaultListenSharedAccessSignature
    az notification-hub authorization-rule list-keys --resource-group spnhubrg --namespace-name spnhubns --notification-hub-name spfcmtutorial1nhub --name DefaultListenSharedAccessSignature --output table
    
    # query the keys and connection strings for a custom policy
    az notification-hub authorization-rule list-keys --resource-group spnhubrg --namespace-name spnhubns --notification-hub-name spfcmtutorial1nhub --name spnhub1key --output table
    

    Примечание

    Для пространства имен Центров уведомлений и самого концентратора уведомлений действуют разные политики доступа. Убедитесь, что при запросе ключей и строк подключения используется правильная ссылка на Azure CLI.

Очистка ресурсов

Вы можете удалить ставшие ненужными группу ресурсов и все связанные с ней ресурсы, выполнив команду az group delete:

az group delete --name spnhubrg

Дальнейшие действия