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.
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.
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.
- Azure Service Bus-klientbiblioteksexempel för .NET (senaste)
- Azure Service Bus-klientbiblioteksexempel för Java (senaste)
- Azure Service Bus-klientbiblioteksexempel för Python
- Azure Service Bus-klientbiblioteksexempel för JavaScript
- Azure Service Bus-klientbiblioteksexempel för TypeScript
Hitta exempel för de äldre .NET- och Java-klientbiblioteken nedan:
- Azure Service Bus-klientbiblioteksexempel för .NET (äldre)
- Azure Service Bus-klientbiblioteksexempel för Java (äldre)
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.