Использование функции 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).

Enable batching at the time of creating a subscription

Вы можете обновить эти значения для существующей подписки на вкладке функции (Features) страницы раздела "Сетка событий" (Event Grid).

Enable batching after creation

Шаблон 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.

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

См. список поддерживаемых обработчиков событий в статье Обработчики событий.