Partilhar via


Barramento de Serviço do Azure como uma fonte de Grade de Eventos

Este artigo fornece as propriedades e o esquema para os eventos do Service Bus. Para obter uma introdução aos esquemas de eventos, consulte Esquema de eventos da Grade de Eventos do Azure.

Observação

Somente o namespace do Service Bus de camada Premium oferece suporte à integração de eventos. As camadas Básica e Padrão não suportam a integração com a Grade de Eventos.

Tipos de eventos disponíveis

O Service Bus emite os seguintes tipos de eventos:

Tipo de evento Descrição
Microsoft.ServiceBus.ActiveMessagesAvailableWithNoListeners Gerado quando uma nova mensagem ativa chega numa fila ou assinatura e não há recetores a ouvir.
Microsoft.ServiceBus.DeadletterMessagesAvailableWithNoListeners Gerado quando uma nova mensagem ativa chega numa fila de mensagens mortas e não existem ouvintes ativos.
Microsoft.ServiceBus.ActiveMessagesAvailablePeriodicNotifications Levantado a cada 30 segundos se houver mensagens ativas numa fila ou subscrição, mesmo que haja ouvintes ativos nessa fila ou subscrição específica. Ele também é aumentado quando a contagem de mensagens ativas passa de 0 para um valor positivo para a fila ou assinatura.
Microsoft.ServiceBus.DeadletterMessagesAvailablePeriodicNotifications Gerado a cada 30 segundos se houver mensagens na entidade de mensagens mortas de uma fila ou assinatura, mesmo que existam ouvintes ativos na entidade de mensagens mortas dessa fila ou assinatura específica. Ele também é gerado quando a contagem de mensagens de letra morta passa de 0 para um valor positivo para a entidade de mensagens de letra morta da fila ou assinatura.

Exemplo de evento

Mensagens ativas disponíveis sem ouvintes

Esse evento é gerado se você tiver mensagens ativas em uma fila ou uma assinatura e não houver recetores ouvindo.

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

Mensagens de correio morto disponíveis sem ouvintes

O esquema para um evento de fila de mensagens perdidas é semelhante. Você recebe pelo menos um evento por fila de dead-letter que tem mensagens e nenhum receptor ativo.

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

Mensagens ativas disponíveis notificações periódicas

Esse evento é gerado periodicamente se você tiver mensagens ativas na fila ou assinatura específica, mesmo que haja ouvintes ativos para essa fila ou assinatura 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"
}]

Mensagens de dead-letter com notificações periódicas disponíveis

Esse evento é gerado periodicamente se você tiver mensagens de deadletter na fila ou assinatura específica, mesmo que haja ouvintes ativos na entidade deadletter dessa fila ou assinatura 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"
}]

Propriedades do evento

Um evento tem os seguintes dados de nível superior:

Propriedade Tipo Descrição
topic cadeia (de caracteres) Caminho completo do recurso para a origem do evento. Este campo não pode ser gravado. O Event Grid fornece este valor.
subject cadeia (de caracteres) Caminho definido pelo publicador para o assunto do evento.
eventType cadeia (de caracteres) Um dos tipos de eventos registados para esta fonte de eventos.
eventTime cadeia (de caracteres) A hora em que o evento é gerado com base na hora UTC do provedor.
id cadeia (de caracteres) Identificador único para o evento.
data objecto Dados de eventos do Service Bus.
dataVersion cadeia (de caracteres) A versão do esquema do objeto de dados. O editor define a versão do esquema.
metadataVersion cadeia (de caracteres) A versão do esquema dos metadados do evento. A Grade de Eventos define o esquema das propriedades de nível superior. O Event Grid fornece este valor.

O objeto de dados tem as seguintes propriedades:

Propriedade Tipo Descrição
namespaceName cadeia (de caracteres) O namespace do Service Bus no qual o recurso existe.
requestUri cadeia (de caracteres) O URI para a fila específica ou assinatura que emite o evento.
entityType cadeia (de caracteres) O tipo de entidade do Service Bus que emite eventos (fila ou subscrição).
queueName cadeia (de caracteres) A fila com mensagens ativas ao inscrever-se numa fila. Nulo se estiver a usar tópicos ou assinaturas.
topicName cadeia (de caracteres) O tópico ao qual pertence a assinatura do Service Bus com mensagens ativas. Valor nulo se estiver usando uma fila.
subscriptionName cadeia (de caracteres) A assinatura do Service Bus com mensagens ativas. Valor nulo se estiver usando uma fila.

Tutoriais e instruções

Título Descrição
Tutorial: Exemplos de integração do Barramento de Serviço do Azure para a Grade de Eventos do Azure A Grade de Eventos envia mensagens do tópico do Service Bus para o aplicativo funcional e o aplicativo lógico.
Integração do Azure Service Bus com o Event Grid Visão geral da integração do Service Bus com a Grade de Eventos.

Observação

Quando ocorre um failover para um namespace do Service Bus Geo-DR habilitado, o namespace secundário não emite eventos para o Event Grid. Você precisa adicionar manualmente a assinatura da Grade de Eventos para o namespace secundário.

Consulte a documentação do Service Bus Geo-Replication para entender o que acontece com um namespace do Service Bus que está habilitado para Geo-Replication.

Próximos passos