Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Обработчик событий — это местоназначение, куда Сетка событий Azure отправляет событие для обработки. Azure автоматически настраивает несколько сервисов для обработки событий, и Функции Azure является одним из них.
Когда вы используете функцию как обработчик событий, вы запускаете пользовательский код в ответ на каждое событие без предоставления или управления серверами. Например, Event Grid может использовать функцию как антикоррупционный слой , который преобразует или проверяет события перед их пересылкой в нижние системы.
В этой статье описываются два способа использования функции в качестве обработчика событий и объясняется, какой подход следует использовать.
Чтобы использовать функцию в Azure в качестве обработчика событий, выполните один из следующих подходов:
- Используйте триггер Event Grid. Укажите функцию Azure в качестве типа конечной точки (endpoint type). Затем укажите функцию-приложение и функцию, которая обрабатывает события.
- Используйте HTTP-триггер. Укажите вебхук в качестве типа конечной точки. Затем укажите URL функции, обрабатывающей события.
Используйте первый подход (триггер сетки событий). У него есть следующие преимущества по сравнению со вторым подходом:
- Сетка событий автоматически проверяет триггеры Сетки событий. При использовании универсальных триггеров HTTP вам нужно самостоятельно реализовать ответ проверки.
- Event Grid автоматически корректирует скорость доставки событий на функцию, которую запускает событие Event Grid, исходя из предполагаемой скорости обработки событий. Эта функция согласования скоростей предотвращает ошибки доставки, возникающие из-за неспособности функции обрабатывать события, поскольку скорость обработки событий может меняться со временем. Для повышения эффективности при высокой пропускной способности включите пакетную обработку в подписке на события. Дополнительные сведения см. на странице Включение пакетной обработки.
Примечание.
- Когда вы используете триггер Event Grid для добавления подписки на событие с помощью функции Azure, Event Grid получает ключ доступа для целевой функции, используя учетные данные принципала сервиса Event Grid. Event Grid получает разрешения при регистрации поставщика ресурсов Event Grid в вашей подписке Azure.
- Если вы защищаете свою функцию Azure с помощью приложения Microsoft Entra ID, вам придётся использовать универсальный webhook с помощью HTTP-триггера. Используйте конечную точку функции Azure в качестве URL-адреса вебхука при добавлении подписки.
Учебники
| Заголовок | Описание |
|---|---|
| Краткое руководство: обработка событий с использованием функции | Отправка пользовательского события в функцию для обработки. |
| Руководство: потоковая передача больших данных в хранилище данных | Когда Центр событий создает файл Capture, Event Grid отправляет событие в приложение-функцию. Приложение получает файл Capture и переносит данные в хранилище. |
| Примеры интеграции служебной шины Azure со службой "Сетка событий Azure" | Event Grid отправляет сообщения из темы служебная шина в функциональное приложение и логическое приложение. |
Пример REST API
Следующий пример показывает тело запроса для операции PUT, которая создаёт подписку на событие с функцией Azure в роли обработчика событий. Он устанавливает идентификатор ресурса целевой функции и включает пакетирование.
{
"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
Когда вы создаёте подписку в портале, на странице «Создать событие подписки » переключитесь на вкладку «Расширенные функции » и установите значения максимального количества событий на партию и размер предпочтённой партии в килобайтах.
Обновите эти значения для существующей подписки на вкладке «Особенности » страницы «Тема сетки событий ».
Шаблон 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
Используйте cmdlet New-AzEventGridSubscription или Update-AzEventGridSubscription для настройки пакетных настроек. Используйте -MaxEventsPerBatch параметр или -PreferredBatchSizeInKiloBytes , чтобы настроить свои предпочтения.
Связанный контент
Список поддерживаемых обработчиков событий см. статью «Обработчики событий ».