Compartir vía


Azure Service Bus como origen de Event Grid

En este artículo se proporcionan las propiedades y los esquemas de los eventos de Service Bus. Para una introducción a los esquemas de eventos, consulte Esquema de eventos de Azure Event Grid.

Nota:

El espacio de nombres de Service Bus de nivel Premium es el único que admite la integración de eventos. Los niveles Básico y Estándar no admiten la integración con Event Grid.

Tipos de eventos disponibles

Service Bus emite los siguientes tipos de eventos:

Tipo de evento Descripción
Microsoft.ServiceBus.ActiveMessagesAvailableWithNoListeners Se genera cuando llega un nuevo mensaje activo a una cola o suscripción y no hay receptores que escuchen.
Microsoft.ServiceBus.DeadletterMessagesAvailableWithNoListeners Se genera cuando llega un nuevo mensaje activo a una cola de mensajes fallidos y no hay clientes de escucha.
Microsoft.ServiceBus.ActiveMessagesAvailablePeriodicNotifications Se genera cada 30 segundos si hay mensajes activos en una cola o suscripción, aunque haya clientes de escucha activos en esa cola o suscripción específica. También se genera cuando el recuento de mensajes activos pasa de 0 a un valor positivo para la cola o suscripción.
Microsoft.ServiceBus.DeadletterMessagesAvailablePeriodicNotifications Se genera cada 30 segundos si hay mensajes en la entidad de mensajes con problemas de entrega de una cola o suscripción, aunque haya clientes de escucha activos en la entidad de mensajes con problemas de entrega de esa cola o suscripción específica. También se genera cuando el recuento de mensajes con problemas de entrega pasa de 0 a un valor positivo para la entidad de mensajes con problemas de entrega de la cola o suscripción.

Evento de ejemplo

Mensajes activos disponibles sin agentes de escucha

Este evento se genera si hay mensajes activos en una cola o suscripción y no hay receptores a la escucha.

[{
  "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"
}]

Mensajes fallidos disponibles sin clientes de escucha

El esquema para un evento de cola de mensajes fallidos es similar. Obtiene como mínimo un evento por cada cola de mensajes fallidos que contiene mensajes y ningún receptor activo.

[{
  "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"
}]

Notificaciones periódicas de mensajes activos disponibles

Este evento se genera periódicamente si tiene mensajes activos en la cola o suscripción específica, aunque haya agentes de escucha activos de esa cola o suscripción específica.

[{
  "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"
}]

Notificaciones periódicas de mensajes fallidos disponibles

Este evento se genera periódicamente si tiene mensajes fallidos en la cola o suscripción específica, aunque haya agentes de escucha activos en la entidad fallida de esa cola o suscripción específica.

[{
  "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"
}]

Propiedades de evento

Un evento tiene los siguientes datos de nivel superior:

Propiedad Tipo Description
topic string Ruta de acceso completa a los recursos del origen del evento. En este campo no se puede escribir. Event Grid proporciona este valor.
subject string Ruta al asunto del evento definida por el anunciante.
eventType string Uno de los tipos de eventos registrados para este origen de eventos.
eventTime string La hora de generación del evento en función de la hora UTC del proveedor.
id string Identificador único para el evento
data object Datos de eventos de Blob Storage.
dataVersion string Versión del esquema del objeto de datos. El publicador define la versión del esquema.
metadataVersion string Versión del esquema de los metadatos del evento. Event Grid define el esquema de las propiedades de nivel superior. Event Grid proporciona este valor.

El objeto data tiene las siguientes propiedades:

Propiedad Tipo Description
namespaceName string El espacio de nombres de Service Bus donde se encuentra el recurso.
requestUri string El URI en el que la cola específica o suscripción específicos emite el evento.
entityType string El tipo de entidad de Service Bus que emite eventos (cola o suscripción).
queueName string La cola con mensajes activos si se suscribe a una cola. El valor null si se usan temas o suscripciones.
topicName string El tema al que pertenece la suscripción de Service Bus con mensajes activos. El valor null si se usa una cola.
subscriptionName string La suscripción de Service Bus con mensajes activos. El valor null si se usa una cola.

Tutoriales y procedimientos

Título Descripción
Tutorial: Ejemplos de integración de Azure Service Bus en Azure Event Grid Event Grid envía mensajes de temas de Service Bus a la aplicación de función y a la aplicación lógica.
Integración de Azure Service Bus en Event Grid Información general de la integración de Service Bus con Event Grid.

Nota:

Cuando se produce una conmutación por error para un espacio de nombres de Service Bus habilitado para la recuperación ante desastres geográficos, el espacio de nombres secundario no emite eventos a Event Grid. Debe agregar manualmente la suscripción de Event Grid para el espacio de nombres secundario.

Pasos siguientes