Delen via


Berichttellers ophalen

In dit artikel ziet u verschillende manieren om het aantal berichten voor een wachtrij of abonnement op te halen. Het aantal actieve berichten is nuttig bij het bepalen of een wachtrij een achterstand opstelt waarvoor meer resources moeten worden verwerkt dan wat momenteel is geïmplementeerd.

teller Beschrijving
ActiveMessageCount Het aantal berichten in de wachtrij of het abonnement dat actief is en gereed is voor levering. Dit omvat uitgestelde berichten.
ScheduledMessageCount Aantal berichten met de geplande status.
DeadLetterMessageCount Aantal berichten in de wachtrij met dode letters.
TransferMessageCount Het aantal berichten dat moet worden overgedragen naar een andere wachtrij of een ander onderwerp.
TransferDeadLetterMessageCount Het aantal berichten dat niet kan worden overgedragen naar een andere wachtrij of een ander onderwerp en is verplaatst naar de wachtrij voor overdracht van onbestelbare berichten.

Als een toepassing resources wil schalen op basis van de lengte van de wachtrij, moet dit met een gemeten tempo worden uitgevoerd. De overname van de berichtentellers is een dure bewerking binnen de berichtenbroker en het uitvoeren ervan heeft vaak rechtstreeks en negatieve gevolgen voor de prestaties van de entiteit.

Een andere handige metriek die u kunt overwegen voor schalen, is de tijd tussen het moment waarop het meest recente bericht is verzonden en wanneer het werd verwerkt, ook wel 'kritieke tijd' genoemd. Dit is handig voor scenario's waarbij een wachtrij mogelijk duizenden berichten bevat, maar de verwerking snel genoeg is om bij te blijven, waardoor een 'kritieke tijd' van slechts een paar seconden wordt gegeven, wat meer dan voldoende kan zijn voor iets als een eindpunt voor het verzenden van e-mail. Bibliotheken van derden, zoals NServiceBus , verzenden deze en andere nuttige metrische gegevens via OpenTelemetry.

Notitie

De berichten die naar een Service Bus-onderwerp worden verzonden, worden doorgestuurd naar abonnementen voor dat onderwerp. Het aantal actieve berichten op het onderwerp zelf is dus 0, omdat deze berichten zijn doorgestuurd naar het abonnement. Haal het aantal berichten op bij het abonnement en controleer of het groter is dan 0. Hoewel u berichten in het abonnement ziet, worden ze daadwerkelijk opgeslagen in een opslag die eigendom is van het onderwerp. Als u de abonnementen bekijkt, hebben ze het aantal berichten dat niet nul is, wat bijdraagt aan de opslag die door het onderwerp wordt gebruikt.

Azure-portal gebruiken

Navigeer naar uw naamruimte en selecteer de wachtrij. U ziet berichttellers op de pagina Overzicht voor de wachtrij.

Schermopname van de pagina Overzicht van een wachtrij met de sectie Aantal berichten gemarkeerd.

Navigeer naar uw naamruimte, selecteer het onderwerp en selecteer vervolgens het abonnement voor het onderwerp. U ziet berichttellers op de pagina Overzicht voor de wachtrij.

Schermopname van de overzichtspagina van het abonnement van een onderwerp met de sectie Aantal berichten gemarkeerd.

Azure CLI gebruiken

Gebruik de az servicebus queue show opdracht om de details van het aantal berichten voor een wachtrij op te halen, zoals wordt weergegeven in het volgende voorbeeld.

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

Hier volgt een voorbeelduitvoer:

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

Gebruik de az servicebus topic subscription show opdracht om de details van het aantal berichten voor een abonnement op te halen, zoals wordt weergegeven in het volgende voorbeeld.

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

Azure PowerShell gebruiken

Met PowerShell kunt u de details van het aantal berichten voor een wachtrij als volgt verkrijgen:

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

$queueObj.CountDetails

Dit is de voorbeelduitvoer:

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

U kunt de details van het aantal berichten voor een abonnement als volgt verkrijgen:

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

$topicObj.CountDetails

Het geretourneerde MessageCountDetails object heeft de volgende eigenschappen: ActiveMessageCount, DeadLetterMessageCount, ScheduledMessageCount, , TransferDeadLetterMessageCount. TransferMessageCount

Volgende stappen

Probeer de voorbeelden in de taal van uw keuze om Azure Service Bus-functies te verkennen.

Hieronder vindt u voorbeelden voor de oudere .NET- en Java-clientbibliotheken:

Op 30 september 2026 gaan we de Azure Service Bus SDK-bibliotheken WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus en com.microsoft.azure.servicebus buiten gebruik stellen, die niet voldoen aan de Azure SDK-richtlijnen. We beëindigen ook de ondersteuning van het SBMP-protocol, zodat u dit protocol na 30 september 2026 niet meer kunt gebruiken. Migreer naar de nieuwste Azure SDK-bibliotheken, die vóór die datum essentiële beveiligingsupdates en verbeterde mogelijkheden bieden.

Hoewel de oudere bibliotheken nog steeds meer dan 30 september 2026 kunnen worden gebruikt, ontvangen ze geen officiële ondersteuning en updates meer van Microsoft. Zie de aankondiging van de buitengebruikstelling van de ondersteuning voor meer informatie.