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
- Para una introducción a Azure Event Grid, consulte Introducción a Azure Event Grid.
- Para más información acerca de la creación de una suscripción de Azure Event Grid, consulte Esquema de suscripción de Event Grid.
- Para obtener más información sobre cómo usar Azure Event Grid con Service Bus, consulte Introducción a la integración de Azure Service Bus en Azure Event Grid.
- Pruebe a recibir eventos de Service Bus con Functions o Logic Apps.