Pobieranie liczników komunikatów

W tym artykule przedstawiono różne sposoby pobierania liczby komunikatów dla kolejki lub subskrypcji. Znajomość liczby aktywnych komunikatów jest przydatna podczas określania, czy kolejka tworzy listę prac, która wymaga więcej zasobów do przetworzenia niż to, co zostało obecnie wdrożone.

Licznik opis
ActiveMessageCount Liczba komunikatów w kolejce lub subskrypcji, które są w stanie aktywnym i są gotowe do dostarczenia.
ScheduledMessageCount Liczba komunikatów w stanie zaplanowanym.
DeadLetterMessageCount Liczba komunikatów w kolejce utraconych komunikatów.
TransferMessageCount Liczba komunikatów oczekujących na przeniesienie do innej kolejki lub tematu.
TransferDeadLetterMessageCount Liczba komunikatów, które nie mogły zostać przeniesione do innej kolejki lub tematu i zostały przeniesione do kolejki utraconych komunikatów.

Jeśli aplikacja chce skalować zasoby na podstawie długości kolejki, powinna to zrobić za pomocą mierzonego tempa. Pozyskiwanie liczników komunikatów jest kosztowną operacją wewnątrz brokera komunikatów i wykonywanie jej często bezpośrednio i niekorzystnie wpływa na wydajność jednostki.

Uwaga

Komunikaty wysyłane do tematu usługi Service Bus są przekazywane do subskrypcji tego tematu. Tak więc liczba aktywnych komunikatów w samym temacie wynosi 0, ponieważ te komunikaty zostały pomyślnie przekazane do subskrypcji. Pobierz liczbę komunikatów w subskrypcji i sprawdź, czy jest ona większa niż 0. Mimo że w subskrypcji są wyświetlane komunikaty, są one rzeczywiście przechowywane w magazynie należącym do tematu. Jeśli spojrzysz na subskrypcje, będą one miały liczbę komunikatów innych niż zero (które sumują się do 323 MB miejsca dla tej całej jednostki).

Przy użyciu witryny Azure Portal

Przejdź do przestrzeni nazw i wybierz kolejkę. Na stronie Przegląd kolejki są wyświetlane liczniki komunikatów.

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

Przejdź do przestrzeni nazw, wybierz temat, a następnie wybierz subskrypcję tematu. Na stronie Przegląd kolejki są wyświetlane liczniki komunikatów.

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

Korzystanie z interfejsu wiersza polecenia platformy Azure

az servicebus queue show Użyj polecenia , aby uzyskać szczegóły liczby komunikatów dla kolejki, jak pokazano w poniższym przykładzie.

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

Oto przykładowe dane wyjściowe:

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

az servicebus topic subscription show Użyj polecenia , aby uzyskać szczegóły liczby komunikatów dla subskrypcji, jak pokazano w poniższym przykładzie.

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

Korzystanie z programu Azure PowerShell

Za pomocą programu PowerShell można uzyskać szczegóły liczby komunikatów dla kolejki w następujący sposób:

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

$queueObj.CountDetails

Oto przykładowe dane wyjściowe:

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

Możesz uzyskać szczegóły liczby komunikatów dla subskrypcji w następujący sposób:

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

$topicObj.CountDetails

Zwrócony MessageCountDetails obiekt ma następujące właściwości: ActiveMessageCount, , DeadLetterMessageCountScheduledMessageCount, TransferDeadLetterMessageCount, TransferMessageCount.

Następne kroki

Wypróbuj przykłady w wybranym języku, aby zapoznać się z funkcjami usługi Azure Service Bus.

Znajdź przykłady dla starszych bibliotek klienckich .NET i Java poniżej:

30 września 2026 r. wycofamy biblioteki zestawu SDK usługi Azure Service Bus WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus i com.microsoft.azure.servicebus, które nie są zgodne z wytycznymi dotyczącymi zestawu Azure SDK. Zakończymy również obsługę protokołu SBMP, więc nie będzie można już używać tego protokołu po 30 września 2026 r. Przeprowadź migrację do najnowszych bibliotek zestawu Azure SDK, które oferują krytyczne aktualizacje zabezpieczeń i ulepszone możliwości przed tą datą.

Mimo że starsze biblioteki mogą być nadal używane poza 30 września 2026 r., nie będą już otrzymywać oficjalnej pomocy technicznej i aktualizacji od firmy Microsoft. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu pomocy technicznej.