Отправка событий из Azure API Management в Сетку событий
ОБЛАСТЬ ПРИМЕНЕНИЯ: Потребление | Разработчик | Базовый | Стандартный | Премия
API Management интегрируется с Сеткой событий Azure, чтобы вы могли отправлять уведомления о событиях в другие службы и активировать нисходящие процессы. «Сетка событий» — это полностью управляемая служба маршрутизации событий, использующая модель публикации и подписки. Эта служба поддерживает такие службы Azure, как Функции Azure и Azure Logic Apps, и может доставлять оповещения о событиях в службы за пределами Azure с помощью веб-перехватчиков.
Например, с помощью интеграции со службой «Сетка событий» можно создать приложение, которое обновляет базу данных, создает учетную запись для выставления счетов и отправляет уведомления по электронной почте при каждом добавлении пользователя в экземпляр службы управления API.
В этой статье описано, как подписаться на события «Сетки событий» в экземпляре управления API, активировать события и отправлять события в конечную точку для обработки данных. Проще говоря, события отправляются в пример веб-приложения, которое собирает и отображает сообщения:
Необходимые компоненты
Используйте среду 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.
- Если у вас нет службы API Management, выполните инструкции из краткого руководства по созданию экземпляра Azure API Management.
- Включите назначаемое системой управляемое удостоверение в экземпляре управления API.
- Создайте группу ресурсов, если у вас пока нет группы ресурсов, в которой можно развернуть пример конечной точки.
Создание конечной точки событий
В этом разделе показано, как использовать шаблон Resource Manager для развертывания готового примера веб-приложения в службе приложений Azure. Затем вы узнаете, как подписаться на события «Сетки событий» вашего экземпляра управления API и указать это приложение как конечную точку, в которую отправляются события.
Для развертывания примера приложения вы можете использовать Azure CLI, Azure PowerShell или портал Azure. В следующем примере используется команда az deployment group create в Azure CLI.
Укажите
RESOURCE_GROUP_NAME
в качестве имени существующей группы ресурсовУкажите
SITE_NAME
в качестве уникального имени для вашего веб-приложенияИмя сайта должно быть уникальным в пределах Azure, так как оно является частью полного доменного имени (FQDN) веб-приложения. В следующем разделе вы перейдете к полному доменному имени приложения в веб-браузере, чтобы просмотреть события.
RESOURCE_GROUP_NAME=<your-resource-group-name>
SITE_NAME=<your-site-name>
az deployment group create \
--resource-group $RESOURCE_GROUP_NAME \
--template-uri "https://raw.githubusercontent.com/Azure-Samples/azure-event-grid-viewer/master/azuredeploy.json" \
--parameters siteName=$SITE_NAME hostingPlanName=$SITE_NAME-plan
Как только развертывание завершится (это может занять несколько минут), откройте браузер и перейдите в свое веб-приложение, чтобы убедиться, что оно запущено:
https://<your-site-name>.azurewebsites.net
Вы должны увидеть пример приложения, в котором не отображаются сообщения о событиях.
Регистрация поставщика ресурсов Сетки событий
Если вы не пользовались сеткой событий раньше, потребуется зарегистрировать поставщика ресурсов сетки событий. Если вы использовали сетку событий раньше, переходите к следующему разделу.
На портале Azure сделайте следующее:
В меню слева выберите Подписки.
Выберите подписку, которую вы хотите использовать для службы "Сетка событий", из списка подписок.
На странице Подписка выберите Поставщики ресурсов в разделе Параметры в меню слева.
Найдите Microsoft.EventGrid и убедитесь, что состояние не зарегистрировано.
Выберите Microsoft.EventGrid в списке поставщиков.
Выберите Зарегистрировать на панели команд.
Обновите страницу, чтобы убедиться, что состояние Microsoft.EventGrid изменено на Зарегистрировано.
Подписка на события управления API
Подпишитесь на раздел, чтобы определить в Сетке событий Azure, какие события необходимо отслеживать и куда их отправлять. Здесь вы создадите подписку на события в экземпляре управления API.
Перейдите к экземпляру Управления API на портале Azure.
Выберите События> + Подписки на событие.
На вкладке Базовый:
- Введите описательное Имя для подписки на события.
- В разделе Типы событий выберите один или несколько типов событий управления API, которые необходимо отправлять в «Сетку событий». Для примера в этой статье среди прочего необходимо выбрать Microsoft.APIManagement.ProductCreated
- В разделе Сведения о конечной точке выберите тип событий Веб-перехватчик, нажмите Выбрать конечную точку и введите URL-адрес веб-приложения и
api/updates
. Пример:https://myapp.azurewebsites.net/api/updates
. - Выберите Подтвердить выбор.
Оставьте параметры на оставшихся вкладках со значениями по умолчанию, а затем нажмите кнопку создать.
Активация и просмотр событий
Когда пример приложения запущен и вы подписались на экземпляр управления API с помощью «Сетки событий», вы можете создать события.
Для примера создайте продукт в экземпляре управления API. Если подписка на события включает событие Microsoft.APIManagement.ProductCreated, то создание продукта активирует событие, отправляемое в конечную точку веб-приложения.
Перейдите в веб-приложение просмотра «Сетки событий», где должно появиться событие ProductCreated
. Нажмите кнопку рядом с событием, чтобы просмотреть подробные сведения.
Схема событий службы "Сетка событий Azure"
В службе управления API в сведениях о событии отображается resourceUri
с указанием ресурса управления API, который инициировал событие. Дополнительные сведения о схеме сообщений о событиях в службе управления API см. в документации по службе «Сетка событий»:
Схема событий службы «Сетка событий Azure» для управления API
Следующие шаги
- Узнайте больше о подписке на события.