Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом кратком руководстве вы используете портал Azure для создания пространства имен Event Grid с включенным брокером MQTT. Затем вы создаете подресурсы, такие как клиенты, группы клиентов и пространства тем. Вы предоставляете клиентам доступ к публикации и подписке на тематические пространства, после чего публикуете и получаете сообщения между клиентами.
Требования
- Создайте бесплатную учетную запись Azure , если у вас нет подписки Azure.
- Если вы не знакомы с Сеткой событий Azure, ознакомьтесь с обзором сетки событий перед началом работы с этим руководством.
- Убедитесь, что порт 8883 открыт в брандмауэре. В этом руководстве используется протокол MQTT, который осуществляет обмен данными через порт 8883. Этот порт может быть заблокирован в некоторых корпоративных и образовательных сетевых средах.
- Для создания отпечатка и проверки подлинности подключения клиента требуется сертификат клиента X.509.
Генерация образца сертификата клиента и отпечатка
Если у вас еще нет сертификата, можно создать пример сертификата с помощью шага CLI. Рассмотрите возможность установки вручную для Windows.
После успешной установки шага откройте командную строку в папке профиля пользователя (тип Win+R %USERPROFILE%).
Чтобы создать корневые и промежуточные сертификаты, выполните следующую команду. Помните пароль, который необходимо использовать на следующем шаге.
step ca init --deployment-type standalone --name MqttAppSamplesCA --dns localhost --address 127.0.0.1:443 --provisioner MqttAppSamplesCAProvisionerИспользуйте генерируемые файлы ЦС для создания сертификата для первого клиента. Убедитесь, что вы используете правильный путь для файлов сертификатов и секретов в команде.
step certificate create client1-authn-ID client1-authn-ID.pem client1-authn-ID.key --ca .step/certs/intermediate_ca.crt --ca-key .step/secrets/intermediate_ca_key --no-password --insecure --not-after 2400hЧтобы просмотреть отпечаток, выполните команду Step.
step certificate fingerprint client1-authn-ID.pemТеперь создайте сертификат для второго клиента.
step certificate create client2-authn-ID client2-authn-ID.pem client2-authn-ID.key --ca .step/certs/intermediate_ca.crt --ca-key .step/secrets/intermediate_ca_key --no-password --insecure --not-after 2400hЧтобы просмотреть отпечаток, используемый со вторым клиентом, выполните команду Step.
step certificate fingerprint client2-authn-ID.pem
Создание пространства имен
Войдите на портал Azure.
В строке поиска введите пространства имен сетки событий и выберите в списке пространства имен сетки событий .
В Event Grid namespaces нажмите + Создать на панели инструментов.
В разделе "Создание пространства имен" выполните следующие действия.
Выберите свою подписку Azure.
Выберите существующую группу ресурсов или нажмите кнопку "Создать" и введите имя группы ресурсов.
Введите уникальное имя пространства имен. Имя пространства имен должно быть уникальным для каждого региона, так как оно представляет запись DNS. Не используйте имя, указанное на изображении. Вместо этого создайте собственное имя — оно должно находиться в диапазоне от 3 до 50 символов и содержать только значения a-z, A-Z, 0-9 и
-.Выберите местоположение пространства имен Event Grid. В настоящее время пространство имен Event Grid доступно только в некоторых регионах.
В нижней части страницы выберите Review + create.
На вкладке "Просмотр и создание" страницы "Создать пространство имен", нажмите кнопку "Создать".
Примечание.
Чтобы упростить краткое руководство, используйте только страницу "Основы" для создания пространства имен. Подробные инструкции по настройке сети, безопасности и других параметров на дополнительных страницах мастера можно найти в статье "Create a Namespace".
После успешного развертывания выберите Перейти к ресурсу, чтобы перейти на страницу "Обзор пространства имен Event Grid" для вашего пространства имен.
На странице "Обзор " вы увидите, что брокер MQTT находится в состоянии "Отключено ". Чтобы включить брокер MQTT, выберите ссылку "Отключено ". Он перенаправляет вас в конфигурацию.
В разделе "Конфигурация" выберите параметр "Включить брокер MQTT " и нажмите кнопку "Применить ", чтобы применить параметры.
Создание клиентов
В меню слева выберите "Клиенты " в разделе брокера MQTT.
На вкладке Клиенты нажмите + Клиент на панели инструментов.
В поле "Создание клиента" введите имя клиента. Имена клиентов должны быть уникальными в пространстве имен.
Имя проверки подлинности клиента по умолчанию устанавливается как имя клиента. В этом руководстве измените на
client1-authn-ID. Необходимо включить это имя, какUsernameв пакет CONNECT.В этом руководстве вы используете проверку подлинности на основе отпечатков. Включите отпечаток первого сертификата клиента в первичный отпечаток.
Нажмите кнопку "Создать " на панели инструментов, чтобы создать другой клиент.
Повторите предыдущие шаги, чтобы создать второй клиент с именем
client2. Измените имяclient2-authn-IDаутентификации и добавьте отпечаток второго клиентского сертификата в Первичный отпечаток.
Примечание.
- Для упрощения быстрого начала используйте совпадение отпечатков пальцев для аутентификации. Подробные инструкции по использованию цепочки сертификатов ЦС X.509 для проверки подлинности клиента см. в разделе проверки подлинности клиента с помощью цепочки сертификатов.
- Кроме того, используйте группу клиентов по умолчанию
$all, которая включает все клиенты в пространстве имен для этого упражнения. Дополнительные сведения о создании пользовательских групп клиентов с помощью атрибутов клиента см. в разделах "Группы клиентов".
Создание тематических пространств
В левом меню выберите пространства тем в разделе MQTT брокера.
В тематических пространствах выберите + Тематическое пространство на панели инструментов.
Введите имя пространства темы.
Выберите и добавьте шаблон раздела , чтобы добавить шаблон раздела. Шаблон раздела определяет иерархию разделов для пространства тем. Вы можете иметь несколько шаблонов тем в пространстве тем, и каждый шаблон раздела может иметь собственную иерархию разделов.
Введите
contosotopics/topic1шаблон раздела и нажмите кнопку "Создать ", чтобы создать пространство тем.
Настройка управления доступом с помощью привязок разрешений
В меню слева выберите привязки разрешений в разделе брокера MQTT .
В привязках разрешений выберите +Привязка разрешений на панели инструментов.
Настройте привязку разрешений следующим образом:
Введите имя привязки разрешений. Например,
contosopublisherbinding.Для названия группы клиентов выберите $all.
Для названия пространства тем выберите пространство тем, созданное на предыдущем шаге.
Предоставьте издателю разрешение на группу клиентов в пространстве тем.
Нажмите кнопку "Создать", чтобы создать привязку разрешений.
Создайте еще одну привязку разрешения (
contososubscriberbinding) выбрав + Привязка разрешения на панели инструментов.Введите имя и предоставьте подписчикугруппы клиентов $all доступ к ContosoTopicSpace, как показано ниже.
Нажмите кнопку "Создать", чтобы создать привязку разрешений.
Подключение клиентов к пространству имен с помощью приложения MQTTX
Чтобы опубликовать и подписаться на сообщения MQTT, используйте любое нужное средство. В демонстрационных целях в этой статье показано, как публиковать и подписываться с помощью приложения MQTTX. Вы можете скачать приложение из https://mqttx.app/.
Выберите + на панели навигации слева.
Настройте
client1с помощьюИмя как
client1(это значение может быть любым)Идентификатор клиента
client1-session1(идентификатор клиента в пакете CONNECT определяет идентификатор сеанса для клиентского подключения)Имя пользователя как
client1-authn-ID. Это значение должно соответствовать значению Имя проверки подлинности клиента, указанного при создании клиента в портале Azure.Внимание
Имя пользователя должно соответствовать имени проверки подлинности клиента в метаданных клиента.
Измените имя хоста на имя хоста MQTT на странице Обзор пространства имен.
Обновите порт до 8883.
Переключите протокол SSL/TLS на включено.
Чтобы убедиться, что проверка сертификата службы включена, переключите протокол SSL Secure на on.
Выберите Сертификат типа Центра сертификации (ЦС) или самозаверяющийся сертификат.
Укажите путь к файлу сертификата клиента.
Укажите путь к файлу ключа клиента.
Оставьте остальные параметры предопределенными значениями по умолчанию.
Выберите "Подключиться", чтобы подключить клиента к брокеру MQTT.
Чтобы подключить второй клиент
client2, повторите предыдущие шаги, используя соответствующие сведения проверки подлинности, как показано ниже.
Публикация и подписка с помощью приложения MQTTX
После подключения клиентов выберите +Создать подписку для клиента2.
Добавьте
contosotopics/topic1в качестве раздела и нажмите кнопку "Подтвердить". Другие поля можно оставить с существующими значениями по умолчанию.Выберите client1 в левой панели.
На клиенте1 в верхней части поля создания сообщения, введите
contosotopics/topic1в качестве темы для публикации.Создание сообщения. Вы можете использовать любой формат или JSON, как показано ниже.
Нажмите кнопку Send (Отправить).
Сообщение отображается как опубликовано в клиенте 1.
Переключитесь на client2. Убедитесь, что клиент2 получил сообщение.