Использование функции Azure как обработчика событий Сетки событий
Обработчик событий — это место, куда отправляются события. Обработчик выполняет действие для обработки события. Некоторые службы Azure автоматически настроены для обработки событий. Одна из них — это Функции Azure.
Чтобы использовать функцию в Azure в качестве обработчика событий, выполните один из следующих подходов:
- Использование триггера Сетки событий. Укажите функцию Azure в качестве типа конечной точки (endpoint type). Затем укажите приложение функции и функцию, которая будет выполнять обработку событий.
- Использование триггера HTTP. Укажите веб-перехватчик (Web Hook) в качестве типа конечной точки (endpoint type). Затем укажите URL-адрес функции, которая будет выполнять обработку событий.
Рекомендуется использовать первый подход (триггер сетки событий), так как он имеет следующие преимущества по сравнению со вторым подходом:
- Сетка событий автоматически проверяет триггеры Сетки событий. При использовании универсальных триггеров HTTP вам нужно самостоятельно реализовать ответ проверки.
- Сетка событий автоматически корректирует скорость, с которой события доставляются в функцию, активируемую событием сетки событий на основе наблюдаемой скорости, с которой функция может обрабатывать события. Эта функция согласования скорости предотвращает ошибки доставки, которые возникают из-за неспособности функции обрабатывать события, поскольку скорость обработки событий функцией может меняться со временем. Для повышения эффективности при высокой пропускной способности включите пакетную обработку в подписке на события. Дополнительные сведения см. на странице Включение пакетной обработки.
Примечание.
- При добавлении подписки на событие с помощью функции Azure триггер сетки событий получает ключ доступа для целевой функции с помощью учетных данных субъекта-службы сетки событий. Службе "Сетка событий" предоставляются разрешения при регистрации поставщика ресурсов Сетки событий в своей подписке Azure.
- Если вы защищаете функцию Azure с помощью приложения идентификатора Microsoft Entra ID , вам придется использовать универсальный подход веб-перехватчика с помощью триггера HTTP. Укажите конечную точку функции Azure в качестве URL-адреса веб-перехватчика при добавлении подписки.
Учебники
Заголовок | Description |
---|---|
Краткое руководство. Обработка событий с помощью функции | Отправка пользовательского события в функцию для обработки. |
Потоковая передача больших данных в хранилище данных | Когда Центры событий создают файл сбора, служба "Сетка событий" отправляет событие приложению-функции. Это приложение извлекает файл сбора и переносит данные в хранилище данных. |
Примеры интеграции служебной шины Azure со службой "Сетка событий Azure" | Сетка событий отправляет сообщения из раздела Служебной шины в приложение-функцию и приложение логики. |
Пример REST (для PUT)
{
"properties":
{
"destination":
{
"endpointType": "AzureFunction",
"properties":
{
"resourceId": "/subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.Web/sites/<FUNCTION APP NAME>/functions/<FUNCTION NAME>",
"maxEventsPerBatch": 10,
"preferredBatchSizeInKilobytes": 64
}
},
"eventDeliverySchema": "EventGridSchema"
}
}
Включение пакетной обработки
Для более высокой пропускной способности включите пакетную обработку в подписке. Если вы используете портал Azure, можно задать максимальное количество событий для каждого пакета и предпочтительный размер пакета в килобайтах во время создания подписки или после создания.
Создавать очереди можно с помощью портала Azure, PowerShell, CLI или шаблонов Resource Manager.
Портал Azure
Во время создания подписки в пользовательском интерфейсе на странице Создать подписку на события (Create Event Subscription) перейдите на вкладку Дополнительные параметры (Advanced Features) и задайте значения для параметров Максимальное число событий на пакет (Max events per batch) и Предпочтительный размер пакета в килобайтах (Preferred batch size in kilobytes).
Вы можете обновить эти значения для существующей подписки на вкладке функции (Features) страницы раздела "Сетка событий" (Event Grid).
Шаблон Azure Resource Manager
maxEventsPerBatch и preferredBatchSizeInKilobytes можно задать в шаблоне Azure Resource Manager. Дополнительные сведения см. в справочнике по шаблонам Microsoft.EventGrid eventSubscriptions.
Azure CLI
С помощью команды можно настроить параметры, связанные с пакетной службой az eventgrid event-subscription create
, с помощью следующих параметров: --max-events-per-batch
или --preferred-batch-size-in-kilobytes
.
Azure PowerShell
С помощью командлета New-AzEventGridSubscription или Update-AzEventGridSubscription можно настроить параметры, связанные с пакетной службой, используя следующие параметры: -MaxEventsPerBatch
или -PreferredBatchSizeInKiloBytes
.
Примечание.
При использовании триггера сетки событий служба сетки событий получает секрет клиента для целевой функции Azure и использует ее для доставки событий в функцию Azure. Если вы защищаете функцию Azure с помощью приложения Microsoft Entra, необходимо использовать универсальный подход веб-перехватчика и использовать триггер HTTP.
Следующие шаги
См. список поддерживаемых обработчиков событий в статье Обработчики событий.