Share via


Obter contadores de mensagens

Este artigo mostra diferentes maneiras de obter contagens de mensagens para uma fila ou assinatura. Conhecer a contagem de mensagens ativas é útil para determinar se uma fila cria uma lista de pendências que requer mais recursos para processar do que o que foi implantado atualmente.

Contador Descrição
ActiveMessageCount Número de mensagens na fila ou assinatura que estão no estado ativo e prontas para entrega.
ScheduledMessageCount Número de mensagens no estado agendado.
DeadLetterMessageCount Número de mensagens na fila de mensagens mortas.
TransferMessageCount Número de mensagens pendentes de transferência para outra fila ou tópico.
TransferDeadLetterMessageCount Número de mensagens que não conseguiram ser transferidas para outra fila ou tópico e que foram movidas para a fila de mensagens mortas de transferência.

Se um aplicativo quiser dimensionar recursos com base no comprimento da fila, deverá fazê-lo com um ritmo medido. A aquisição dos contadores de mensagens é uma operação cara dentro do agente de mensagens, e executá-la frequentemente afeta direta e adversamente o desempenho da entidade.

Nota

As mensagens enviadas para um tópico do Service Bus são encaminhadas para assinaturas desse tópico. Assim, a contagem de mensagens ativas no tópico em si é 0, pois essas mensagens foram encaminhadas com sucesso para a assinatura. Obtenha a contagem de mensagens na subscrição e verifique se é superior a 0. Mesmo que você veja mensagens na assinatura, elas são realmente armazenadas em um armazenamento de propriedade do tópico. Se você olhar para as assinaturas, elas teriam uma contagem de mensagens diferente de zero (que somam até 323 MB de espaço para toda essa entidade).

Através do portal do Azure

Navegue até o namespace e selecione a fila. Você vê contadores de mensagens na página Visão geral da fila.

Screenshot showing the Overview page of a queue with the Message Counts section highlighted.

Navegue até o namespace, selecione o tópico e, em seguida, selecione a assinatura para o tópico. Você vê contadores de mensagens na página Visão geral da fila.

Screenshot showing the Overview page of a topic's subscription with the Message Counts section highlighted.

Utilizar a CLI do Azure

Use o az servicebus queue show comando para obter os detalhes da contagem de mensagens para uma fila, conforme mostrado no exemplo a seguir.

az servicebus queue show --resource-group myresourcegroup \
    --namespace-name mynamespace \
    --name myqueue \
    --query countDetails

Aqui está um exemplo de saída:

ActiveMessageCount    DeadLetterMessageCount    ScheduledMessageCount    TransferMessageCount    TransferDeadLetterMessageCount
--------------------  ------------------------  -----------------------  ----------------------  --------------------------------
0                     0                         0                        0                       0

Use o az servicebus topic subscription show comando para obter os detalhes da contagem de mensagens de uma assinatura, conforme mostrado no exemplo a seguir.

az servicebus topic subscription show --resource-group myresourcegroup \
    --namespace-name mynamespace \
    --topic-name mytopic \
    --name mysub \
    --query countDetails

Utilizar o Azure PowerShell

Com o PowerShell, você pode obter os detalhes da contagem de mensagens para uma fila da seguinte maneira:

$queueObj=Get-AzServiceBusQueue -ResourceGroup myresourcegroup `
                    -NamespaceName mynamespace `
                    -QueueName myqueue 

$queueObj.CountDetails

Aqui está a saída de exemplo:

ActiveMessageCount             : 7
DeadLetterMessageCount         : 1
ScheduledMessageCount          : 3
TransferMessageCount           : 0
TransferDeadLetterMessageCount : 0

Você pode obter os detalhes da contagem de mensagens para uma assinatura da seguinte maneira:

$topicObj= Get-AzServiceBusSubscription -ResourceGroup myresourcegroup `
                -NamespaceName mynamespace `
                -TopicName mytopic `
                -SubscriptionName mysub

$topicObj.CountDetails

O objeto retornado MessageCountDetails tem as seguintes propriedades: ActiveMessageCount, , , TransferDeadLetterMessageCountDeadLetterMessageCountScheduledMessageCount, . TransferMessageCount

Próximos passos

Experimente os exemplos no idioma de sua escolha para explorar os recursos do Barramento de Serviço do Azure.

Encontre exemplos para as bibliotecas de cliente .NET e Java mais antigas abaixo:

Em 30 de setembro de 2026, desativaremos as bibliotecas do SDK do Barramento de Serviço do Azure WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus e com.microsoft.azure.servicebus, que não estão em conformidade com as diretrizes do SDK do Azure. Também encerraremos o suporte ao protocolo SBMP, para que você não possa mais usar esse protocolo após 30 de setembro de 2026. Migre para as bibliotecas mais recentes do SDK do Azure, que oferecem atualizações de segurança críticas e recursos aprimorados, antes dessa data.

Embora as bibliotecas mais antigas ainda possam ser usadas após 30 de setembro de 2026, elas não receberão mais suporte e atualizações oficiais da Microsoft. Para obter mais informações, consulte o anúncio de aposentadoria de suporte.