Отправка событий из Azure API Management в Сетку событий

ОБЛАСТЬ ПРИМЕНЕНИЯ: все уровни Управление API

API Management интегрируется с Сеткой событий Azure, чтобы вы могли отправлять уведомления о событиях в другие службы и активировать нисходящие процессы. «Сетка событий» — это полностью управляемая служба маршрутизации событий, использующая модель публикации и подписки. Эта служба поддерживает такие службы Azure, как Функции Azure и Azure Logic Apps, и может доставлять оповещения о событиях в службы за пределами Azure с помощью веб-перехватчиков.

Например, с помощью интеграции со службой «Сетка событий» можно создать приложение, которое обновляет базу данных, создает учетную запись для выставления счетов и отправляет уведомления по электронной почте при каждом добавлении пользователя в экземпляр службы управления API.

В этой статье описано, как подписаться на события «Сетки событий» в экземпляре управления 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.

Создание конечной точки событий

В этом разделе показано, как использовать шаблон 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 сделайте следующее:

  1. В меню слева выберите Подписки.

  2. Выберите подписку, которую вы хотите использовать для службы "Сетка событий", из списка подписок.

  3. На странице Подписка выберите Поставщики ресурсов в разделе Параметры в меню слева.

  4. Найдите Microsoft.EventGrid и убедитесь, что состояние не зарегистрировано.

  5. Выберите Microsoft.EventGrid в списке поставщиков.

  6. Выберите Зарегистрировать на панели команд.

    Изображение процесса регистрации поставщика Microsoft.EventGrid с помощью подписки Azure.

  7. Обновите страницу, чтобы убедиться, что состояние Microsoft.EventGrid изменено на Зарегистрировано.

    Изображение успешного процесса регистрации поставщика Microsoft.EventGrid с помощью подписки Azure.

Подписка на события управления API

Подпишитесь на раздел, чтобы определить в Сетке событий Azure, какие события необходимо отслеживать и куда их отправлять. Здесь вы создадите подписку на события в экземпляре управления API.

  1. Перейдите к экземпляру Управления API на портале Azure.

  2. Выберите События> + Подписки на событие.

  3. На вкладке Базовый:

    • Введите описательное Имя для подписки на события.
    • В разделе Типы событий выберите один или несколько типов событий управления API, которые необходимо отправлять в «Сетку событий». Для примера в этой статье среди прочего необходимо выбрать Microsoft.APIManagement.ProductCreated
    • В разделе Сведения о конечной точке выберите тип событий Веб-перехватчик, нажмите Выбрать конечную точку и введите URL-адрес веб-приложения и api/updates. Пример: https://myapp.azurewebsites.net/api/updates.
    • Выберите Подтвердить выбор.
  4. Оставьте параметры на оставшихся вкладках со значениями по умолчанию, а затем нажмите кнопку создать.

    Создание подписки на события на портале Microsoft Azure

Активация и просмотр событий

Когда пример приложения запущен и вы подписались на экземпляр управления API с помощью «Сетки событий», вы можете создать события.

Для примера создайте продукт в экземпляре управления API. Если подписка на события включает событие Microsoft.APIManagement.ProductCreated, то создание продукта активирует событие, отправляемое в конечную точку веб-приложения.

Перейдите в веб-приложение просмотра «Сетки событий», где должно появиться событие ProductCreated. Нажмите кнопку рядом с событием, чтобы просмотреть подробные сведения.

Событие «Продукт создан» в средстве просмотра «Сетки событий»

Схема событий службы "Сетка событий Azure"

В службе управления API в сведениях о событии отображается resourceUri с указанием ресурса управления API, который инициировал событие. Дополнительные сведения о схеме сообщений о событиях в службе управления API см. в документации по службе «Сетка событий»:

Схема событий службы «Сетка событий Azure» для управления API

Следующие шаги