Share via


Obtención de contadores de mensajes

En este artículo se muestran diferentes maneras de obtener recuentos de mensajes para una cola o suscripción. Conocer el número de mensajes activos resulta de utilidad para determinar si una cola crea un trabajo pendiente que requiere procesar más recursos que los que se han implementado actualmente.

Contador Descripción
ActiveMessageCount Número de mensajes de la cola o la suscripción que se encuentran en estado activo y listo para la entrega.
ScheduledMessageCount Número de mensajes en estado programado.
DeadLetterMessageCount Número de mensajes en la cola de mensajes fallidos.
TransferMessageCount Número de mensajes pendientes de transferencia en otra cola o tema.
TransferDeadLetterMessageCount Número de mensajes que no se pudieron transferir a otra cola u otro tema y se han movido a la cola de mensajes fallidos de transferencia.

Si una aplicación desea escalar recursos en función de la longitud de la cola, debe hacerlo con un ritmo medido. La adquisición de los contadores de mensajes es una operación costosa en el agente de mensajes y ejecutarla con frecuencia afecta de forma directa y adversa al rendimiento de la entidad.

Nota:

Los mensajes que se envían a un tema de Service Bus se reenvían a las suscripciones de ese tema. Por lo tanto, el número de mensajes activos en el propio tema es 0, ya que esos mensajes se han reenviado correctamente a la suscripción. Obtenga el número de mensajes en la suscripción y compruebe que es mayor que 0. Aunque vea mensajes en la suscripción, realmente se almacenan en un almacenamiento que pertenece al tema. Si observa las suscripciones, tendrán un número de mensajes distinto de cero (hasta un total de 323 MB de espacio para esta entidad completa).

Uso de Azure Portal

Vaya al espacio de nombres y seleccione la cola. Verá contadores de mensajes en la página Información general de la cola.

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

Vaya al espacio de nombres, seleccione el tema y, a continuación, seleccione la suscripción para el tema. Verá contadores de mensajes en la página Información general de la cola.

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

Uso de la CLI de Azure

Use el comando az servicebus queue show para obtener los detalles del recuento de mensajes de una cola, como se muestra en el ejemplo siguiente.

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

Este es una salida de ejemplo:

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

Use el comando az servicebus topic subscription show para obtener los detalles del recuento de mensajes de una suscripción, como se muestra en el ejemplo siguiente.

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

Uso de Azure PowerShell

Con PowerShell, puede obtener los detalles del recuento de mensajes de una cola como se indica a continuación:

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

$queueObj.CountDetails

Esta es la salida de ejemplo:

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

puede obtener los detalles del recuento de mensajes de una suscripción de la siguiente manera:

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

$topicObj.CountDetails

El objeto MessageCountDetails devuelto tiene las siguientes propiedades: ActiveMessageCount, DeadLetterMessageCount, ScheduledMessageCount, TransferDeadLetterMessageCount, TransferMessageCount.

Pasos siguientes

Pruebe los ejemplos en el lenguaje que prefiera para explorar las características de Azure Service Bus.

A continuación, encontrará ejemplos de las bibliotecas cliente de .NET y Java anteriores:

El 30 de septiembre de 2026, retiraremos las bibliotecas del SDK de Azure Service Bus WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus y com.microsoft.azure.servicebus, que no se ajustan a las directrices del SDK de Azure. También finalizaremos la compatibilidad con el protocolo SBMP, por lo que ya no podrá usar este protocolo después del 30 de septiembre de 2026. Migre a las bibliotecas más recientes del SDK de Azure, que ofrecen actualizaciones de seguridad críticas y funcionalidades mejoradas, antes de esa fecha.

Aunque las bibliotecas anteriores todavía se pueden usar después del 30 de septiembre de 2026, ya no recibirán soporte técnico oficial ni actualizaciones de Microsoft. Para obtener más información, consulte el anuncio de retirada de soporte técnico.