Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье приведены пошаговые инструкции по публикации событий в службе "Сетка событий Azure" в формате JSON CloudEvents и доставке этих событий с помощью модели принудительной доставки.
Конкретно говоря, вы используете портал Azure и Curl, чтобы публиковать события в тему пространства имен на Event Grid и передавать эти события из подписки на событие в целевое место назначения обработчика Event Hubs. Дополнительные сведения о модели доставки push-уведомлений см. в обзоре доставки push-уведомлений.
Если у вас нет аккаунта Azure, создайте бесплатную учетную запись перед началом.
Создание пространства имен для Event Grid
Пространство имен Сетки событий предоставляет определяемую пользователем конечную точку, в которую вы публикуете события. В следующем примере создается пространство имен в группе ресурсов с помощью Bash в Azure Cloud Shell. Имя пространства имен должно быть уникальным, так как это часть записи системы доменных имен (DNS).
Перейдите на портал Azure.
В строке поиска в разделе введите
Event Grid Namespacesи выберитеEvent Grid Namespacesиз результатов.На странице пространств имен сетки событий нажмите кнопку +Создать на панели команд.
На странице Создание пространства имен выполните следующие действия:
- Выберите подписку Azure, в которой требуется создать пространство имен.
- Создайте новую группу ресурсов, выбрав "Создать" или выбрав существующую группу ресурсов.
- Введите имя для пространства имен.
- Выберите расположение , в котором нужно создать группу ресурсов.
- Затем нажмите кнопку "Проверить и создать".
- На странице Отзыв и создание выберите Создать.
На странице развертывания выберите "Перейти к ресурсу " после успешного развертывания.
Получение ключа доступа
- На странице пространства имен Event Grid выберите ключи доступа в меню слева.
- Нажмите кнопку копирования рядом с ключом доступа.
- Сохраните ключ доступа где-то. Его можно использовать позже в этом кратком руководстве.
Включить управляемую идентификацию для пространства имен Event Grid
Включите управляемую системой идентификацию в пространстве имен Event Grid. Чтобы доставлять события в центры событий в пространстве имен Event Hubs с помощью управляемой идентичности, выполните следующие действия:
- Включите управляемое удостоверение, назначаемое системой или назначаемое пользователем: пространства имен. Продолжайте чтение следующего раздела, чтобы узнать, как активировать управляемое удостоверение с помощью Azure CLI.
- Добавьте удостоверение в роль отправителя данных концентраторов событий Azure в пространстве имен концентраторов событий. Продолжайте читать следующий раздел, чтобы узнать, как добавить назначение на роль.
- Настройте подписку на события, которая использует концентратор событий в качестве конечной точки для использования управляемого удостоверения, назначаемого системой или назначаемого пользователем.
В этом разделе описано, как включить управляемое удостоверение, назначаемое системой, в пространстве имен. Другие шаги вы выполняете позже в этом кратком руководстве.
На странице пространства имен Event Grid выберите Идентификация в меню слева.
На странице "Идентификация" выберите "Включено" для состояния.
Выберите Сохранить на панели команд.
Создайте тему в пространстве имен
Создайте тему, используемую для хранения всех событий, публикуемых в конечной точке пространства имен.
- Выберите разделы в меню слева.
- На странице "Темы" выберите "+ Раздел " на панели команд.
- На странице "Создание раздела " выполните следующие действия:
Создание пространства имен Центров событий
Создайте ресурс «Центры событий», используемый в качестве места назначения для обработчика в подписке на отправку топика пространства имен. Выполните эти действия на отдельной вкладке браузера или в отдельном окне. Перейдите на портал Azure и войдите, используя те же учетные данные, которые вы использовали раньше и ту же подписку Azure.
- Введите центры событий в строке поиска и выберите Центры событий.
- На странице Центров событий нажмите кнопку +Создать на панели команд.
- На странице "Создание пространства имен" выполните следующие действия.
- Выберите подписку Azure, используемую для создания пространства имен Event Grid.
- Выберите группу ресурсов , которую вы использовали ранее.
- Введите имя пространства имен Центров событий.
- Выберите то же расположение , которое использовалось для пространства имен Сетки событий.
- Выберите "Базовый " для ценовой категории.
- Выберите Review + create.
- На странице Отзыв выберите Создать.
- На странице развертывания выберите "Перейти к ресурсу " после успешного развертывания.
Добавьте управляемое удостоверение Event Grid в роль отправителя данных Event Hubs.
- На странице Пространство имен Центров событий выберите Управление доступом (IAM) в левом меню.
- Выберите Добавить ->Добавить назначение ролей на панели команд.
- На странице "Добавление назначения ролей " найдите отправителя данных Центров событий и выберите "Отправитель данных Центров событий Azure " из списка ролей и нажмите кнопку "Далее".
- На вкладке "Члены" выберите Управляемое удостоверение для типа, а затем нажмите + Выбрать участников.
- На странице "Выбор управляемых удостоверений " выберите пространство имен сетки событий для управляемого удостоверения, а затем выберите управляемое удостоверение с тем же именем, что и пространство имен Сетки событий.
- На странице "Выбор управляемых удостоверений" нажмите кнопку "Выбрать".
- Теперь на странице "Добавление назначения ролей" выберите "Рецензирование и назначение".
- На странице "Рецензирование и назначение" выберите "Рецензирование и назначение".
Создание концентратора событий
- На странице пространство имен Event Hubs выберите Event Hubs в меню слева.
- На странице "Центры событий" выберите +Концентратор событий на панели команд.
- На странице "Создание концентратора событий " введите имя концентратора событий и нажмите кнопку "Проверить и создать".
- На странице Отзыв и создание выберите Создать.
Создание подписки на событие
Создайте подписку на событие, установив режим доставки Push, который поддерживает push-отправление.push delivery.
- Перейдите на вкладку или окно со страницей пространства имен сетки событий , открытой на вкладке или окне со страницей пространства имен Центров событий .
- На странице пространства имен Event Grid выберите Темы в меню слева.
- На странице разделов выберите тему, созданную на предыдущем шаге.
- Выберите +Подписка на панели команд.
- На странице "Создание подписки на события" выполните следующие действия.
- На вкладке "Базовый" введите имя подписки на событие.
- Выберите 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, обновите страницу и убедитесь, что счетчик входящих сообщений на диаграмме указывает, что событие получено.
Дальнейшие шаги
В этой статье вы создали и настроили пространство имен Event Grid и ресурсы Центров событий. Пошаговые инструкции по получению событий из концентратора событий см. в следующих руководствах: