Основные понятия в службе "Сетка событий Azure"Concepts in Azure Event Grid

В этой статье описаны основные понятия в службе "Сетка событий Azure".This article describes the main concepts in Azure Event Grid.

СобытияEvents

Событие — минимальный объем информации, который полностью описывает нечто, произошедшее в системе.An event is the smallest amount of information that fully describes something that happened in the system. Каждое событие содержит такие общие сведения, как источник события, время, когда оно произошло, и уникальный идентификатор.Every event has common information like: source of the event, time the event took place, and unique identifier. Каждое событие также содержит определенные сведения, которые относятся к конкретному типу события.Every event also has specific information that is only relevant to the specific type of event. Например, событие создания файла в службе хранилища Azure содержит сведения о файле, такие как значение lastTimeModified.For example, an event about a new file being created in Azure Storage has details about the file, such as the lastTimeModified value. Или событие службы "Центры событий" имеет URL-адрес файла сбора данных.Or, an Event Hubs event has the URL of the Capture file.

Событие размером до 64 КБ покрывается по общедоступной версии Соглашение об уровне обслуживания (SLA).An event of size up to 64 KB is covered by General Availability (GA) Service Level Agreement (SLA). В настоящее время доступна предварительная версия поддержки для события размером до 1 МБ.The support for an event of size up to 1 MB is currently in preview. За событиями свыше 64 КБ начислено приращения в 64 КБ.Events over 64 KB are charged in 64-KB increments.

Свойства, отправляемые в событии, см. в статье о схеме событий службы "Сетка событий Azure".For the properties that are sent in an event, see Azure Event Grid event schema.

ИздателиPublishers

Издатель — это пользователь или организация, которая решает отправить события в службу "Сетка событий".A publisher is the user or organization that decides to send events to Event Grid. Корпорация Майкрософт публикует события для нескольких служб Azure.Microsoft publishes events for several Azure services. Вы можете опубликовать события из своего приложения.You can publish events from your own application. Организации, чьи службы размещены за пределами Azure, могут публиковать события через службу "Сетка событий".Organizations that host services outside of Azure can publish events through Event Grid.

Источники событийEvent sources

Источник события — это место, где оно произошло.An event source is where the event happens. С каждым источником события связан один или несколько типов событий.Each event source is related to one or more event types. Например, служба хранилища Azure — источник событий создания больших двоичных объектов.For example, Azure Storage is the event source for blob created events. Центр Интернета вещей является источником событий, созданных устройством.IoT Hub is the event source for device created events. Приложение является источником определяемых пользователем событий.Your application is the event source for custom events that you define. Источники событий отвечают за отправку событий в службу "Сетка событий".Event sources are responsible for sending events to Event Grid.

Сведения о реализации любого из поддерживаемых источников службы "Сетка событий" см. в разделе об источниках событий в службе "Сетка событий Azure".For information about implementing any of the supported Event Grid sources, see Event sources in Azure Event Grid.

РазделыTopics

Раздел сетки событий предоставляет конечную точку, в которую источник отправляет события.The event grid topic provides an endpoint where the source sends events. Издатель создает раздел сетки событий и решает, сколько разделов нужно источнику событий: один или несколько.The publisher creates the event grid topic, and decides whether an event source needs one topic or more than one topic. Раздел используется для коллекции связанных событий.A topic is used for a collection of related events. Чтобы реагировать на события определенных типов, подписчикам следует решить, на какие из разделов подписаться.To respond to certain types of events, subscribers decide which topics to subscribe to.

Системные разделы — это встроенные разделы, предоставляемые службами Azure, такими как служба хранилища Azure, концентраторы событий Azure и служебная шина Azure.System topics are built-in topics provided by Azure services such as Azure Storage, Azure Event Hubs, and Azure Service Bus. Вы можете создавать системные разделы в подписке Azure и подписываться на них.You can create system topics in your Azure subscription and subscribe to them. Дополнительные сведения см. в разделе Обзор системных разделов.For more information, see Overview of system topics.

К пользовательским относятся разделы приложений и разделы сторонних поставщиков.Custom topics are application and third-party topics. После того как вы создадите или назначите доступ к пользовательскому разделу, он будет отображаться в вашей подписке.When you create or are assigned access to a custom topic, you see that custom topic in your subscription. Дополнительные сведения см. в разделе пользовательские разделы.For more information, see Custom topics.

При разработке приложения можно создать различное число разделов.When designing your application, you have flexibility when deciding how many topics to create. Для больших решений создайте пользовательский раздел для каждой категории связанных событий.For large solutions, create a custom topic for each category of related events. Например, рассмотрим приложение, которое отправляет события, связанные с изменением учетных записей пользователей и обработкой заказов.For example, consider an application that sends events related to modifying user accounts and processing orders. Маловероятно, что для обработчика событий потребуются обе категории событий.It's unlikely any event handler wants both categories of events. Создайте два пользовательских раздела, чтобы обработчик событий подписался на требующийся раздел.Create two custom topics and let event handlers subscribe to the one that interests them. Для небольших решений, возможно, целесообразнее отправлять все события в один раздел.For small solutions, you might prefer to send all events to a single topic. Подписчики на события могут отфильтровать данные по требуемым типам событий.Event subscribers can filter for the event types they want.

Подписки на событияEvent subscriptions

Подписка сообщает службе "Сетка событий", какие события в разделе нужно получать.A subscription tells Event Grid which events on a topic you're interested in receiving. При создании подписки необходимо ввести конечную точку для обработки событий.When creating the subscription, you provide an endpoint for handling the event. Вы можете фильтровать события, которые отправляются в конечную точку.You can filter the events that are sent to the endpoint. Можно задать фильтр по типу события или шаблону темы.You can filter by event type, or subject pattern. Дополнительные сведения см. в разделе Схема подписки для службы "Сетка событий".For more information, see Event Grid subscription schema.

Примеры создания подписок см. по ссылкам ниже.For examples of creating subscriptions, see:

Дополнительные сведения см. в статье Запрос к подпискам службы "Сетка событий Azure".For information about getting your current event grid subscriptions, see Query Event Grid subscriptions.

Истечение срока действия подписки на событиеEvent subscription expiration

После этой даты подписка автоматически перестанет действовать.The event subscription is automatically expired after that date. Задайте срок действия подписки на событие, которая необходима только в течение ограниченного времени и не нужно беспокоиться об очистке этих подписок.Set an expiration for event subscriptions that are only needed for a limited time and you don't want to worry about cleaning up those subscriptions. Например при создании подписки на события для тестирования сценария может потребоваться задать срок действия.For example, when creating an event subscription to test a scenario, you might want to set an expiration.

Чтобы посмотреть пример настройки срока действия, перейдите в раздел Подписка с дополнительными фильтрами.For an example of setting an expiration, see Subscribe with advanced filters.

Обработчики событийEvent handlers

С точки зрения службы "Сетка событий" обработчик событий — это место, куда отправляются события.From an Event Grid perspective, an event handler is the place where the event is sent. Обработчик выполняет последующую обработку полученного события.The handler takes some further action to process the event. Служба "Сетка событий" поддерживает несколько типов обработчиков.Event Grid supports several handler types. В качестве обработчика можно использовать поддерживаемую службу Azure или собственный веб-перехватчик.You can use a supported Azure service or your own webhook as the handler. В зависимости от типа обработчика служба "Сетка событий" применяет различные механизмы, гарантирующие доставку события.Depending on the type of handler, Event Grid follows different mechanisms to guarantee the delivery of the event. Для обработчиков событий веб-перехватчиков HTTP событие повторяется, пока обработчик не возвращает код состояния 200 – OK.For HTTP webhook event handlers, the event is retried until the handler returns a status code of 200 – OK. Для очереди службы хранилища Azure события повторяются, пока служба очередей не выполнит успешно отправку сообщения в очередь.For Azure Storage Queue, the events are retried until the Queue service successfully processes the message push into the queue.

Сведения о реализации любого из поддерживаемых обработчиков службы "Сетка событий" см. в статье об обработчиках событий в службе "Сетка событий Azure".For information about implementing any of the supported Event Grid handlers, see Event handlers in Azure Event Grid.

БезопасностьSecurity

Служба "Сетка событий" обеспечивает безопасность подписки на разделы и публикации разделов.Event Grid provides security for subscribing to topics, and publishing topics. При настройке подписки необходимо иметь соответствующие разрешения для ресурса или раздела сетки событий.When subscribing, you must have adequate permissions on the resource or event grid topic. При публикации необходимо пройти аутентификацию на основе маркера SAS или ключа для раздела.When publishing, you must have a SAS token or key authentication for the topic. Дополнительные сведения см. в разделе Сетка событий: безопасность и проверка подлинности.For more information, see Event Grid security and authentication.

Доставка событийEvent delivery

Если служба "Сетка событий" не может подтвердить, что событие было получено конечной точкой подписчика, служба отправляет его повторно.If Event Grid can't confirm that an event has been received by the subscriber's endpoint, it redelivers the event. Дополнительные сведения см. в разделе Доставка и повторные попытки доставки сообщений сетки событий.For more information, see Event Grid message delivery and retry.

Пакетная обработкаBatching

Если применяется пользовательский раздел, события всегда нужно публиковать в массиве.When using a custom topic, events must always be published in an array. Для сценариев с низкой пропускной способностью это может быть один пакет. Но если публикуется большой объем данных, рекомендуем упаковать несколько событий, чтобы повысить эффективность.This can be a batch of one for low-throughput scenarios, however, for high volume use cases, it's recommended that you batch several events together per publish to achieve higher efficiency. Максимальный размер пакета: 1 МБ.Batches can be up to 1 MB. Размер каждого события не должен превышать 64 КБ (общая доступность) или 1 МБ (Предварительная версия).Each event should still not be greater than 64 KB (General Availability) or 1 MB (preview).

Примечание

Событие размером до 64 КБ покрывается по общедоступной версии Соглашение об уровне обслуживания (SLA).An event of size up to 64 KB is covered by General Availability (GA) Service Level Agreement (SLA). В настоящее время доступна предварительная версия поддержки для события размером до 1 МБ.The support for an event of size up to 1 MB is currently in preview. За событиями свыше 64 КБ начисляются приращения по 64 КБ.Events over 64 KB are charged in 64 KB increments.

Дальнейшие действияNext steps