Доставка событий в Центры событий Azure с помощью разделов пространства имен — портал Azure
В этой статье приводятся пошаговые инструкции по публикации событий для Сетка событий Azure в формате JSON CloudEvents и доставке этих событий с помощью модели принудительной доставки.
Чтобы быть конкретным, вы используете портал Azure и Curl для публикации событий в разделе пространства имен в сетке событий и отправки этих событий из подписки на событие в назначение обработчика Центров событий. Дополнительные сведения о модели доставки push-уведомлений см. в обзоре доставки push-уведомлений.
Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
Создание пространства имен сетки событий
Пространство имен Сетки событий предоставляет определяемую пользователем конечную точку, в которую вы публикуете события. В следующем примере создается пространство имен в группе ресурсов с помощью Bash в Azure Cloud Shell. Имя пространства имен должно быть уникальным, так как это часть записи системы доменных имен (DNS).
Перейдите на портал Azure.
В строке поиска в разделе введите
Event Grid Namespaces
и выберитеEvent Grid Namespaces
из результатов.На странице пространств имен сетки событий нажмите кнопку +Создать на панели команд.
На странице "Создание пространства имен" выполните следующие действия.
- Выберите подписку Azure, в которой нужно создать пространство имен.
- Создайте новую группу ресурсов, выбрав "Создать" или выбрав существующую группу ресурсов.
- Введите имя для пространства имен.
- Выберите расположение, в котором нужно создать группу ресурсов.
- Нажмите Проверка и создание.
- На странице Отзыв и создание выберите Создать.
На странице развертывания выберите "Перейти к ресурсу" после успешного развертывания.
Получение ключа доступа
- На странице пространства имен сетки событий выберите клавиши Access в меню слева.
- Нажмите кнопку копирования рядом с ключом доступа.
- Сохраните ключ доступа где-то. Он понадобится позже при работе с кратким руководством.
Включение управляемого удостоверения для пространства имен Сетки событий
Включите управляемое удостоверение, назначаемое системой, в пространстве имен Сетки событий. Выполните следующие действия для доставки событий в пространстве имен вашего концентратора событий с помощью управляемого удостоверения:
- Включите управляемое удостоверение, назначаемое системой или назначаемое пользователем: пространства имен. Перейдите к следующему разделу, чтобы узнать, как включить управляемое удостоверение с помощью Azure CLI.
- Добавьте удостоверение в роль отправителя данных Центры событий Azure в пространстве имен Центров событий, перейдите к следующему разделу, чтобы узнать, как добавить назначение роли.
- Настройте подписку на события, использующую центр событий в качестве конечной точки для управляемого удостоверения, назначаемого пользователем или системой.
В этом разделе описано, как включить управляемое удостоверение, назначаемое системой, в пространстве имен. В этом кратком руководстве описаны другие действия.
На странице пространства имен сетки событий выберите удостоверение в меню слева.
На странице "Удостоверение" выберите "Вкл." для состояния.
Выберите Сохранить на панели команд.
Создание раздела в пространстве имен
Создайте раздел, который используется для хранения всех событий, опубликованных в конечной точке пространства имен.
- Выберите разделы в меню слева.
- На странице "Темы" выберите "+ Раздел" на панели команд.
- На странице "Создание раздела" выполните следующие действия:
Создание пространства имен в Центрах событий Azure
Создайте ресурс Центров событий, используемый в качестве назначения обработчика для подписки на отправку в разделе пространства имен. Выполните эти действия на отдельной вкладке браузера или в отдельном окне. Перейдите к портал Azure и войдите, используя те же учетные данные, которые вы использовали раньше и ту же подписку Azure.
- Введите центры событий в строке поиска и выберите Центры событий.
- На странице Центров событий нажмите кнопку +Создать на панели команд.
- На странице "Создание пространства имен" выполните следующие действия.
- Выберите подписку Azure, используемую для создания пространства имен Сетки событий.
- Выберите группу ресурсов, которую вы использовали ранее.
- Введите имя пространства имен Центров событий.
- Выберите то же расположение , которое использовалось для пространства имен Сетки событий.
- Выберите "Базовый" для ценовой категории.
- Выберите Review + create (Просмотреть и создать).
- На странице Отзыв выберите Создать.
- На странице развертывания выберите "Перейти к ресурсу" после успешного развертывания.
Добавление управляемого удостоверения сетки событий в роль отправителя данных Центров событий
- На странице пространства имен Центров событий выберите элемент управления доступом (IAM) в меню слева.
- Выберите "Добавить> -Добавить назначение ролей" на панели команд.
- На странице "Добавление назначения ролей" найдите отправителя данных Центров событий и выберите Центры событий Azure Отправителя данных из списка ролей, а затем нажмите кнопку "Далее".
- На вкладке "Члены" выберите управляемое удостоверение для типа, а затем нажмите кнопку +Выбрать участников.
- На странице "Выбор управляемых удостоверений" выберите пространство имен сетки событий для управляемого удостоверения, а затем выберите управляемое удостоверение с тем же именем, что и пространство имен Сетки событий.
- На странице "Выбор управляемых удостоверений" нажмите кнопку "Выбрать".
- Теперь на странице "Добавление назначения ролей" выберите "Рецензирование и назначение".
- На странице "Рецензирование и назначение" выберите "Рецензирование и назначение".
Создание концентратора событий
- На странице пространства имен Центров событий выберите Центры событий в меню слева.
- На странице "Центры событий" выберите +Концентратор событий на панели команд.
- На странице "Создание концентратора событий" введите имя концентратора событий и нажмите кнопку "Проверить и создать".
- На странице Отзыв и создание выберите Создать.
Создание подписки на событие
Создайте подписку на событие, задав режим доставки для push-отправки, которая поддерживает отправку.
- Перейдите на вкладку или окно со страницей пространства имен сетки событий, открытой на вкладке или окне со страницей пространства имен Центров событий.
- На странице пространства имен сетки событий выберите разделы в меню слева.
- На странице разделов выберите тему, созданную на предыдущем шаге.
- Выберите +Подписка на панели команд.
- На странице "Создание подписки на события" выполните следующие действия.
- На вкладке "Базовый " введите имя подписки на событие.
- Выберите "Отправить" для режима доставки событий.
- Убедитесь, что концентратор событий выбран для типа конечной точки.
- Выберите " Настроить конечную точку".
- На странице "Выбор концентратора событий" выполните следующие действия.
- Вернитесь на страницу "Создание подписки" , выберите "Назначенная системой" для типа управляемого удостоверения.
- Нажмите кнопку создания.
Отправка событий в раздел
Теперь отправьте пример события в раздел пространства имен, выполнив действия, описанные в этом разделе.
Запустите Cloud Shell в портал Azure. Переключитесь на Bash.
В Cloud Shell выполните следующую команду, чтобы объявить переменную для хранения ключа доступа для пространства имен. Вы отметили ключ доступа ранее в этом кратком руководстве.
key=ACCESSKEY
Объявите переменную для хранения URI операции публикации. Замените
NAMESPACENAME
именем пространства имен Сетки событий иTOPICNAME
именем раздела.publish_operation_uri=https://NAMESPACENAME.eastus-1.eventgrid.azure.net/topics/TOPICNAME:publish?api-version=2023-06-01-preview
Создайте пример события, соответствующего требованиям CloudEvents :
event=' { "specversion": "1.0", "id": "'"$RANDOM"'", "type": "com.yourcompany.order.ordercreatedV2", "source" : "/mycontext", "subject": "orders/O-234595", "time": "'`date +%Y-%m-%dT%H:%M:%SZ`'", "datacontenttype" : "application/json", "data":{ "orderId": "O-234595", "url": "https://yourcompany.com/orders/o-234595"}} '
Элемент
data
— полезные данные события. Любое значение JSON с правильным форматом может быть в этом поле. Дополнительные сведения о свойствах (также известных как атрибуты контекста), которые могут идти в событии, см . в спецификациях CloudEvents .Используйте CURL для отправки события в раздел. CURL — это служебная программа, которая отправляет HTTP-запросы.
curl -X POST -H "Content-Type: application/cloudevents+json" -H "Authorization:SharedAccessKey $key" -d "$event" $publish_operation_uri
Перейдите на страницу пространства имен Центров событий в портал Azure, обновите страницу и убедитесь, что счетчик входящих сообщений на диаграмме указывает, что событие получено.
Следующие шаги
В этой статье вы создали и настроили пространство имен сетки событий и ресурсы Центров событий. Пошаговые инструкции по получению событий из концентратора событий см. в следующих руководствах: