Использование службы "Сетка событий Azure" для перенаправления событий хранилища больших двоичных объектов на конечную веб-точку (портал Azure)

Сетка событий — это полностью управляемая служба, которая позволяет легко управлять событиями во множестве разных сервисов и приложений Azure. Она упрощает создание приложений, управляемых событиями, и бессерверных приложений. Общие сведения о службе см. в статье Обзор Сетки событий Azure.

В этой статье объясняется, как использовать портал Azure для выполнения описанных ниже задач.

  1. Создание учетной записи хранения больших двоичных объектов.
  2. Создание подписки на события для этой учетной записи хранения BLOB-объектов.
  3. Активация события посредством отправки файла в хранилище BLOB-объектов.
  4. Просмотр результата в веб-приложении обработчика. Как правило, события отправляются на конечную точку, которая обрабатывает данные событий и выполняет соответствующие действия. Простыми словами, события отправляются в веб-приложение, которое собирает и отображает сообщения.

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.

По завершении можно увидеть, что данные событий отправлены в веб-приложение.

Screenshot that shows the sample Azure Event Grid Viewer app with an event.

Создание учетной записи хранилища

  1. Войдите на портал Azure.

  2. Чтобы создать хранилище BLOB-объектов, выберите Создать ресурс.

  3. В поле поискавведите Учетная запись храненияи выберите Учетная запись хранения из списка результатов.

    Screenshot showing the search for Storage account on the Create a resource page.

  4. На странице Учетная запись хранения выберите Создать, чтобы начать создание учетной записи. Чтобы подписаться на события, создайте учетную запись хранения общего назначения версии 2 или учетную запись хранения BLOB-объектов.

  5. На странице Создание учетной записи хранения выполните следующие действия:

    1. Выберите свою подписку Azure.

    2. Группа ресурсов — создайте группу ресурсов Azure или выберите существующую.

    3. Введите имя вашей учетной записи.

    4. Выберите регион, в котором требуется создать учетную запись хранения.

    5. Для параметра Избыточность выберите в раскрывающемся списке Локально избыточное хранилище (LRS).

    6. Выберите "Рецензирование " в нижней части страницы.

      Screenshot showing the Create a storage account page.

    7. На странице "Рецензирование" просмотрите параметры и нажмите кнопку "Создать".

      Примечание.

      Интеграцию событий поддерживают только учетные записи хранения типа StorageV2 (версия 2, общего назначения) и BlobStorage. Учетные записи хранения типа Storage (general purpose v1)не поддерживают интеграцию с Сеткой событий.

  6. Развертывание занимает несколько минут. На странице развертывания выберите "Перейти к ресурсу".

    Screenshot showing the deployment succeeded page with a link to go to the resource.

  7. На странице учетной записи хранения выберите События в меню слева.

    Screenshot showing the Events page for an Azure storage account.

  8. Сохраните эту страницу в веб-браузере.

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

Перед созданием подписки на события хранилища BLOB-объектов необходимо создать конечную точку для сообщения о событии. Обычно конечная точка выполняет действия на основе данных событий. Чтобы упростить это краткое руководство, вы развернете предварительно созданное веб-приложение , отображающее сообщения о событиях. Развернутое решение содержит план службы приложений, веб-приложение службы приложений и исходный код из GitHub.

  1. Выберите Развернуть в Azure, чтобы развернуть решение в своей подписке.

    Button to deploy the Resource Manager template to Azure.

  2. На странице Настраиваемое развертывание выполните следующие действия:

    1. В качестве группы ресурсов выберите ту же группу ресурсов, которую вы использовали при создании учетной записи хранения. После завершения работы с руководством будет проще удалить группу ресурсов.

    2. В поле Имя сайта введите имя веб-приложения.

    3. В поле Имя плана размещения введите имя плана службы приложений для размещения веб-приложения.

    4. Выберите Review + create (Просмотреть и создать).

      Screenshot showing the Custom deployment page.

  3. На странице Отзыв и создание выберите Создать.

  4. Развертывание занимает несколько минут. На странице развертывания выберите "Перейти к группе ресурсов".

    Screenshot showing the deployment succeeded page with a link to go to the resource group.

  5. На странице Группа ресурсов в списке ресурсов выберите созданное вами веб-приложение. В списке вы также увидите план службы приложений и учетную запись хранения.

    Screenshot that shows the selection of web app in the resource group.

  6. На странице Служба приложений для веб-приложения выберите URL-адрес для перехода на веб-сайт. URL-адрес должен иметь следующий формат: https://<your-site-name>.azurewebsites.net.

    Screenshot that shows the selection of link to navigate to web app.

  7. Убедитесь, что сайт открывается, но не имеет опубликованных событий.

    View new site.

    Внимание

    Держите окно средства просмотра Сетки событий Azure открытым, чтобы вы могли видеть события по мере их публикации.

Регистрация поставщика ресурсов Сетки событий

Если вы не пользовались сеткой событий раньше, потребуется зарегистрировать поставщика ресурсов сетки событий. Если вы использовали сетку событий раньше, переходите к следующему разделу.

На портале Azure сделайте следующее:

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

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

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

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

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

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

    Image showing the registration of Microsoft.EventGrid provider with the Azure subscription.

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

    Image showing the successful registration of Microsoft.EventGrid provider with the Azure subscription.

Создание подписки на хранилище BLOB-объектов

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

  1. Если вы закрыли страницу учетной записи служба хранилища, перейдите к созданной ранее учетной записи служба хранилища Azure. В меню слева нажмите Все ресурсы и выберите нужную учетную запись хранения.

  2. На странице учетной записи хранения выберите События в меню слева.

  3. Выберите Дополнительные параметры и Веб-перехватчик. Вы отправляете события в приложение средства просмотра с помощью веб-перехватчика для конечной точки.

    Screenshot showing the selection of Web Hook on the Events page.

  4. На странице Создание подписки на события сделайте следующее:

    1. Укажите имя для подписки на событие.

    2. Введите имясистемного раздела. См. общие сведения о системных разделах.

      Screenshot showing the Create Event Subscription page with a name for the system topic.

    3. Выберите значение Веб-перехватчик для параметра Тип конечной точки.

      Screenshot showing the Create Event Subscription page with Web Hook selected as an endpoint.

  5. Для конечной точки выберите " Выбрать конечную точку" и введите URL-адрес веб-приложения и добавьте api/updates его в URL-адрес домашней страницы (например, https://spegridsite.azurewebsites.net/api/updates), а затем нажмите кнопку "Подтвердить выбор".

    Screenshot showing the Select Web Hook page.

  6. Теперь на странице Создать подписку на события нажмите кнопку Создать, чтобы создать подписку на события.

    Screenshot showing the Create Event Subscription page with all fields selected.

  7. Теперь снова откройте веб-приложение и убедитесь, что оно успешно получило отправленное событие подтверждения подписки. Щелкните значок с изображением глаза, чтобы развернуть данные события. Сетка событий отправляет событие подтверждения, чтобы конечная точка могла подтвердить, что она готова получать данные события. Веб-приложение содержит код для проверки подписки.

    Screenshot showing the Event Grid Viewer with the subscription validation event.

Теперь необходимо активировать событие, чтобы увидеть, как Сетка событий Azure распределяет сообщение к вашей конечной точке.

Отправка события в конечную точку

Событие для хранилища BLOB-объектов активируется при отправке файла. Определенное содержимое для файла не требуется.

  1. На портале Microsoft Azure перейдите в свою учетную запись хранения больших двоичных объектов и выберите Контейнеры в меню слева.

  2. Выберите + Container (+ Контейнер). Присвойте контейнеру имя и любой уровень доступа, после чего щелкните Создать.

    Screenshot showing the New container page.

  3. Выберите новый контейнер.

    Screenshot showing the selection of the container.

  4. Чтобы отправить файл, выберите Отправить. На странице Отправить BLOB-объект найдите и выберите файл, который нужно передать для тестирования, а затем нажмите кнопку Отправить.

    Screenshot showing Upload blob page.

  5. Перейдите к тестовому файлу и отправьте его.

  6. Вы активировали событие, а служба "Сетка событий" отправила сообщение в конечную точку, настроенную вами при оформлении подписки. Сообщение имеет формат JSON и содержит массив с одним или несколькими событиями. В следующем примере сообщение JSON содержит массив с одним событием. Просмотрите веб-приложение. Вы увидите полученное событие создания большого двоичного объекта.

    Screenshot showing the Event Grid Viewer page with the Blob Created event.

Очистка ресурсов

Если вы планируете продолжить работу с этим событием, не удаляйте ресурсы, созданные при работе с этой статьей. В противном случае удалите ресурсы, созданные при работе с этой статьей.

Выберите группу ресурсов и щелкните Удалить группу ресурсов.

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

Теперь, когда вы знаете, как создавать пользовательские раздели и подписки на события, ознакомьтесь с дополнительными сведениями о сетке событий, которые могут помочь вам: