Share via


Abrufen von Nachrichtenzählern

In diesem Artikel werden verschiedene Möglichkeiten zum Abrufen der Nachrichtenanzahl für eine Warteschlange oder ein Abonnement erläutert. Die Anzahl aktiver Nachrichten zu kennen ist nützlich, um festzustellen, ob eine Warteschlange einen Rückstand aufbaut, der mehr Ressourcen für die Verarbeitung benötigt als diejenigen, die derzeit bereitgestellt sind.

Leistungsindikator BESCHREIBUNG
ActiveMessageCount Anzahl von Nachrichten in der Warteschlange oder im Abonnement, die sich im aktiven Zustand befinden und zustellbereit sind.
ScheduledMessageCount Anzahl von Nachrichten im Zustand „Geplant“.
DeadLetterMessageCount Anzahl von Nachrichten in der Warteschlange für unzustellbare Nachrichten.
TransferMessageCount Anzahl von Nachrichten, deren Übertragung in eine andere Warteschlange oder ein anderes Thema aussteht.
TransferDeadLetterMessageCount Anzahl von Nachrichten, die nicht in eine andere Warteschlange oder ein anderes Thema übertragen und in die Warteschlange für unzustellbare Nachrichten verschoben wurden.

Wenn eine Anwendung Ressourcen anhand der Länge der Warteschlange skalieren möchte, sollte sie dies langsam tun. Die Erfassung der Nachrichtenzählern ist ein aufwendiger Vorgang innerhalb des Nachrichtenbrokers, dessen Ausführung häufig direkte und negative Auswirkungen auf die Leistung der Entität hat.

Hinweis

Die an ein Service Bus-Thema gesendeten Nachrichten werden an Abonnements für dieses Thema weitergeleitet. Somit ist die Anzahl aktiver Nachrichten für das Thema selbst 0, da diese Nachrichten erfolgreich an das Abonnement weitergeleitet wurden. Ermitteln Sie die Anzahl der Nachrichten für das Abonnement, und überprüfen Sie, ob sie größer als 0 ist. Auch wenn Nachrichten im Abonnement angezeigt werden, befinden sie sich tatsächlich in einem Speicher, der im Besitz des Themas ist. Wenn Sie die Abonnements anzeigen, ist die Anzahl der Nachrichten im Abonnement ungleich 0 (null) (und beanspruchen einen Teil des Speicherplatzes von 323 MB für die gesamte Entität).

Verwenden des Azure-Portals

Navigieren Sie zu Ihrem Namespace, und wählen Sie die Warteschlange aus. Auf der Seite Übersicht für die Warteschlange werden Nachrichtenzähler angezeigt.

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

Navigieren Sie zu Ihrem Namespace, wählen Sie das Thema aus, und wählen Sie dann das Abonnement für das Thema aus. Auf der Seite Übersicht für die Warteschlange werden Nachrichtenzähler angezeigt.

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

Verwenden der Azure-Befehlszeilenschnittstelle

Verwenden Sie den Befehl az servicebus queue show, um die Details zur Nachrichtenanzahl für eine Warteschlange abzurufen, wie im folgenden Beispiel gezeigt.

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

Hier ist eine Beispielausgabe:

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

Verwenden Sie den Befehl az servicebus topic subscription show, um die Details zur Nachrichtenanzahl für ein Abonnement abzurufen, wie im folgenden Beispiel gezeigt.

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

Verwenden von Azure PowerShell

Mit PowerShell können Sie die Details zur Nachrichtenanzahl für eine Warteschlange wie folgt abrufen:

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

$queueObj.CountDetails

Hier ist die Beispielausgabe:

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

Sie können die Details zur Nachrichtenanzahl für ein Abonnement wie folgt abrufen:

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

$topicObj.CountDetails

Das zurückgegebene MessageCountDetails-Objekt weist die folgenden Eigenschaften auf: ActiveMessageCount, DeadLetterMessageCount, ScheduledMessageCount, TransferDeadLetterMessageCount, TransferMessageCount.

Nächste Schritte

Sehen Sie sich die Beispiele in der Sprache Ihrer Wahl an, um Azure Service Bus-Features zu untersuchen.

Hier finden Sie Beispiele für die älteren .NET- und Java-Clientbibliotheken:

Am 30. September 2026 werden die Azure Service Bus SDK-Bibliotheken „WindowsAzure.ServiceBus“, „Microsoft.Azure.ServiceBus“ und „com.microsoft.azure.servicebus“ eingestellt, da sie nicht den Azure SDK-Richtlinien entsprechen. Außerdem wird die Unterstützung des SBMP-Protokolls beendet, sodass Sie dieses Protokoll nach dem 30. September 2026 nicht mehr verwenden können. Migrieren Sie vor diesem Datum zu den neuesten Azure SDK-Bibliotheken, die wichtige Sicherheitsupdates und verbesserte Funktionen bieten.

Obwohl die älteren Bibliotheken noch über den 30. September 2026 hinaus verwendet werden können, erhalten sie keinen offiziellen Support und keine Updates mehr von Microsoft. Weitere Informationen finden Sie in der Ankündigung der Supporteinstellung.