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


Служебная шина Azure в качестве источника Сетки событий

В этой статье описаны свойства и схема для событий служебной шины. Общие сведения о схемах событий см. в статье Схема событий службы "Сетка событий Azure".

Примечание.

Интеграцию событий поддерживает только пространство имен службы "Служебная шина" уровня "Премиум". Уровни "Базовый" и "Стандартный" не поддерживают интеграцию со службой "Сетка событий".

Доступные типы событий

Служебная шина выдает следующие типы событий:

Тип события Description
Microsoft.ServiceBus.ActiveMessagesAvailableWithNoListeners Вызывается при поступлении нового активного сообщения в очередь или подписку, и получатели не прослушивают.
Microsoft.ServiceBus.DeadletterMessagesAvailableWithNoListeners Вызывается при поступлении новых активных сообщений в очередь недоставленных писем и нет активных прослушивателей.
Microsoft.ServiceBus.ActiveMessagesAvailablePeriodicNotifications Возникает каждые 30 секунд при наличии активных сообщений в очереди или подписке, даже если в этой очереди или подписке имеются активные прослушиватели. Возникает также, когда число активных сообщений переходит от 0 к положительному значению для очереди или подписки.
Microsoft.ServiceBus.DeadletterMessagesAvailablePeriodicNotifications Возникает каждые 30 секунд при наличии сообщений в сущности недоставленных сообщений очереди или подписки, даже если в сущности недоставленных сообщений этой конкретной очереди или подписки имеются активные прослушиватели. Возникает также, когда число недоставленных сообщений переходит от 0 к положительному значению для сущности недоставленных сообщений в очереди или подписке.

Пример события

Активные сообщения, доступные без прослушивателей

Это событие создается, если в очереди или подписке присутствуют активные сообщения, а получатели отсутствуют.

[{
  "topic": "/subscriptions/{subscription-id}/resourcegroups/{your-rg}/providers/Microsoft.ServiceBus/namespaces/{your-service-bus-namespace}",
  "subject": "topics/{your-service-bus-topic}/subscriptions/{your-service-bus-subscription}",
  "eventType": "Microsoft.ServiceBus.ActiveMessagesAvailableWithNoListeners",
  "eventTime": "2018-02-14T05:12:53.4133526Z",
  "id": "dede87b0-3656-419c-acaf-70c95ddc60f5",
  "data": {
    "namespaceName": "YOUR SERVICE BUS NAMESPACE WILL SHOW HERE",
    "requestUri": "https://{your-service-bus-namespace}.servicebus.windows.net/{your-topic}/subscriptions/{your-service-bus-subscription}/messages/head",
    "entityType": "subscriber",
    "queueName": "QUEUE NAME IF QUEUE",
    "topicName": "TOPIC NAME IF TOPIC",
    "subscriptionName": "SUBSCRIPTION NAME"
  },
  "dataVersion": "1",
  "metadataVersion": "1"
}]

Сообщения о недоставленных письмах, доступных без прослушивателей

Схема события очереди недоставленных сообщений выглядит похоже. На одну очередь недоставленных сообщений приходится минимум одно событие с сообщениями, для которых отсутствуют активные получатели.

[{
  "topic": "/subscriptions/{subscription-id}/resourcegroups/{your-rg}/providers/Microsoft.ServiceBus/namespaces/{your-service-bus-namespace}",
  "subject": "topics/{your-service-bus-topic}/subscriptions/{your-service-bus-subscription}",
  "eventType": "Microsoft.ServiceBus.DeadletterMessagesAvailableWithNoListeners",
  "eventTime": "2018-02-14T05:12:53.4133526Z",
  "id": "dede87b0-3656-419c-acaf-70c95ddc60f5",
  "data": {
    "namespaceName": "YOUR SERVICE BUS NAMESPACE WILL SHOW HERE",
    "requestUri": "https://{your-service-bus-namespace}.servicebus.windows.net/{your-topic}/subscriptions/{your-service-bus-subscription}/$deadletterqueue/messages/head",
    "entityType": "subscriber",
    "queueName": "QUEUE NAME IF QUEUE",
    "topicName": "TOPIC NAME IF TOPIC",
    "subscriptionName": "SUBSCRIPTION NAME"
  },
  "dataVersion": "1",
  "metadataVersion": "1"
}]

Активные сообщения, доступные периодические уведомления

Это событие периодически создается, если у вас есть активные сообщения в определенной очереди или подписке, даже если для этой конкретной очереди или подписки есть активные прослушиватели.

[{
  "topic": "/subscriptions/<subscription id>/resourcegroups/DemoGroup/providers/Microsoft.ServiceBus/namespaces/<YOUR SERVICE BUS NAMESPACE WILL SHOW HERE>",
  "subject": "topics/<service bus topic>/subscriptions/<service bus subscription>",
  "eventType": "Microsoft.ServiceBus.ActiveMessagesAvailablePeriodicNotifications",
  "eventTime": "2018-02-14T05:12:53.4133526Z",
  "id": "dede87b0-3656-419c-acaf-70c95ddc60f5",
  "data": {
    "namespaceName": "YOUR SERVICE BUS NAMESPACE WILL SHOW HERE",
    "requestUri": "https://YOUR-SERVICE-BUS-NAMESPACE-WILL-SHOW-HERE.servicebus.windows.net/TOPIC-NAME/subscriptions/SUBSCRIPTIONNAME/$deadletterqueue/messages/head",
    "entityType": "subscriber",
    "queueName": "QUEUE NAME IF QUEUE",
    "topicName": "TOPIC NAME IF TOPIC",
    "subscriptionName": "SUBSCRIPTION NAME"
  },
  "dataVersion": "1",
  "metadataVersion": "1"
}]

Сообщения о недоставленных письмах, доступные периодические уведомления

Это событие создается периодически при наличии недоставленных сообщений в конкретной очереди или подписке, даже если в этой конкретной очереди или подписке имеются активные прослушиватели.

[{
  "topic": "/subscriptions/<subscription id>/resourcegroups/DemoGroup/providers/Microsoft.ServiceBus/namespaces/<YOUR SERVICE BUS NAMESPACE WILL SHOW HERE>",
  "subject": "topics/<service bus topic>/subscriptions/<service bus subscription>",
  "eventType": "Microsoft.ServiceBus.DeadletterMessagesAvailablePeriodicNotifications",
  "eventTime": "2018-02-14T05:12:53.4133526Z",
  "id": "dede87b0-3656-419c-acaf-70c95ddc60f5",
  "data": {
    "namespaceName": "YOUR SERVICE BUS NAMESPACE WILL SHOW HERE",
    "requestUri": "https://YOUR-SERVICE-BUS-NAMESPACE-WILL-SHOW-HERE.servicebus.windows.net/TOPIC-NAME/subscriptions/SUBSCRIPTIONNAME/$deadletterqueue/messages/head",
    "entityType": "subscriber",
    "queueName": "QUEUE NAME IF QUEUE",
    "topicName": "TOPIC NAME IF TOPIC",
    "subscriptionName": "SUBSCRIPTION NAME"
  },
  "dataVersion": "1",
  "metadataVersion": "1"
}]

Свойства событий

Событие содержит следующие высокоуровневые данные:

Свойство Type Описание:
topic строка Полный путь к ресурсу источника событий. Это поле защищено от записи. Это значение предоставляет Сетка событий.
subject строка Определенный издателем путь к субъекту события.
eventType строка Один из зарегистрированных типов событий для этого источника событий.
eventTime строка Время создания события с учетом времени поставщика в формате UTC.
id строка Уникальный идентификатор события.
data объект Данные события хранилища BLOB-объектов.
dataVersion строка Версия схемы для объекта данных. Версию схемы определяет издатель.
metadataVersion строка Версия схемы для метаданных события. Служба "Сетка событий" определяет схему свойств верхнего уровня. Это значение предоставляет Сетка событий.

Объект данных имеет следующие свойства:

Свойство Type Описание:
namespaceName строка Пространство имен служебной шины, в котором существует ресурс.
requestUri строка URI определенной очереди или подписки, создающей события.
entityType строка Тип сущности служебной шины, создающей события (очередь или подписка).
queueName строка Очередь с активными сообщениями при подписке на очередь. Значение null, если используются разделы и подписки.
topicName строка Раздел, к которому принадлежит подписка служебной шины с активными сообщениями. Значение null, если используется очередь.
subscriptionName строка Подписка служебной шины с активными сообщениями. Значение null, если используется очередь.

Практические руководства и другие учебные материалы

Заголовок Description
Примеры интеграции служебной шины Azure со службой "Сетка событий Azure" Служба "Сетка событий" отправляет сообщения из раздела служебной шины в приложение-функцию и приложение логики.
Интеграция служебной шины Azure со службой "Сетка событий" Общие сведения об интеграции служебной шины со службой "Сетка событий".

Примечание.

Когда происходит отработка отказа для пространства имен служебная шина с поддержкой геообработки аварийного восстановления, дополнительное пространство имен не выдает события в сетку событий. Необходимо вручную добавить подписку Сетки событий для дополнительного пространства имен.

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