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.
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.
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.
- Voorbeelden van Azure Service Bus-clientbibliotheek voor .NET (nieuwste)
- Voorbeelden van Azure Service Bus-clientbibliotheek voor Java (nieuwste versie)
- Voorbeelden van Azure Service Bus-clientbibliotheek voor Python
- Voorbeelden van Azure Service Bus-clientbibliotheek voor JavaScript
- Voorbeelden van Azure Service Bus-clientbibliotheek voor TypeScript
Hieronder vindt u voorbeelden voor de oudere .NET- en Java-clientbibliotheken:
- Voorbeelden van Azure Service Bus-clientbibliotheek voor .NET (verouderd)
- Voorbeelden van Azure Service Bus-clientbibliotheek voor Java (verouderd)
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.