Dela via


Hämta meddelanderäknare

Den här artikeln visar olika sätt att få meddelandeantal för en kö eller prenumeration. Att känna till antalet aktiva meddelanden är användbart för att avgöra om en kö skapar en kvarvarande information som kräver mer resurser för att bearbeta än vad som för närvarande har distribuerats.

Räknare beskrivning
ActiveMessageCount Antal meddelanden i kön eller prenumerationen som är i aktivt tillstånd och redo för leverans. Detta inkluderar uppskjutna meddelanden.
ScheduledMessageCount Antal meddelanden i schemalagt tillstånd.
DeadLetterMessageCount Antal meddelanden i kön med obeställbara meddelanden.
TransferMessageCount Antal meddelanden som väntar på överföring till en annan kö eller ett annat ämne.
TransferDeadLetterMessageCount Antal meddelanden som inte kunde överföras till en annan kö eller ett annat ämne och som har flyttats till kön med obeställbara meddelanden.

Om ett program vill skala resurser baserat på köns längd bör det göra det med en uppmätt takt. Förvärvet av meddelanderäknarna är en dyr åtgärd i meddelandeköerna och att köra den ofta direkt och påverkar entitetens prestanda negativt.

Ett annat användbart mått att tänka på för skalning är tiden mellan när det senaste meddelandet skickades och när det bearbetades, även kallat "kritisk tid". Detta är användbart för scenarier där en kö kan ha tusentals meddelanden i den, men bearbetningen är tillräckligt snabb för att hänga med, vilket ger en "kritisk tid" på bara ett par sekunder, vilket kan vara mer än tillräckligt för något som liknar ett e-postmeddelande som skickar slutpunkt. Bibliotek från tredje part som NServiceBus genererar detta och andra användbara mått via OpenTelemetry.

Kommentar

Meddelandena som skickas till ett Service Bus-ämne vidarebefordras till prenumerationer för det ämnet. Antalet aktiva meddelanden i själva ämnet är alltså 0, eftersom dessa meddelanden har vidarebefordrats till prenumerationen. Hämta antalet meddelanden i prenumerationen och kontrollera att det är större än 0. Även om du ser meddelanden i prenumerationen lagras de faktiskt i en lagring som ägs av ämnet. Om du tittar på prenumerationerna skulle de ha icke-noll meddelandeantal, vilket bidrar till lagringen som används av ämnet.

Med Azure-portalen

Gå till namnområdet och välj kön. Du ser meddelanderäknare på sidan Översikt för kön.

Skärmbild som visar översiktssidan för en kö med avsnittet Antal meddelanden markerat.

Gå till namnområdet, välj ämnet och välj sedan prenumerationen för ämnet. Du ser meddelanderäknare på sidan Översikt för kön.

Skärmbild som visar översiktssidan för ett ämnes prenumeration med avsnittet Antal meddelanden markerat.

Med hjälp av Azure CLI

az servicebus queue show Använd kommandot för att hämta information om antal meddelanden för en kö enligt följande exempel.

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

Här är ett exempel på utdata:

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

az servicebus topic subscription show Använd kommandot för att hämta information om antal meddelanden för en prenumeration enligt följande exempel.

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

Använda Azure PowerShell

Med PowerShell kan du hämta information om antalet meddelanden för en kö enligt följande:

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

$queueObj.CountDetails

Här är exempelutdata:

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

du kan hämta information om antalet meddelanden för en prenumeration på följande sätt:

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

$topicObj.CountDetails

Det returnerade MessageCountDetails objektet har följande egenskaper: ActiveMessageCount, DeadLetterMessageCount, ScheduledMessageCount, TransferDeadLetterMessageCount, . TransferMessageCount

Nästa steg

Prova exemplen på det språk du väljer för att utforska Azure Service Bus-funktioner.

Hitta exempel för de äldre .NET- och Java-klientbiblioteken nedan:

Den 30 september 2026 drar vi tillbaka Azure Service Bus SDK-biblioteken WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus och com.microsoft.azure.servicebus, som inte följer Riktlinjerna för Azure SDK. Vi kommer också att avsluta stödet för SBMP-protokollet, så du kommer inte längre att kunna använda det här protokollet efter den 30 september 2026. Migrera till de senaste Azure SDK-biblioteken, som erbjuder kritiska säkerhetsuppdateringar och förbättrade funktioner, före det datumet.

Även om de äldre biblioteken fortfarande kan användas efter den 30 september 2026 får de inte längre officiell support och uppdateringar från Microsoft. Mer information finns i meddelandet om supportavgång.