Поделиться через


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

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

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