Sdílet prostřednictvím


Získání čítačů zpráv

Tento článek ukazuje různé způsoby získání počtu zpráv pro frontu nebo odběr. Znalost počtu aktivních zpráv je užitečná při určování, jestli fronta sestaví backlog, který k zpracování vyžaduje více prostředků, než kolik je aktuálně nasazeno.

Čítač Popis
ActiveMessageCount Počet zpráv ve frontě nebo odběru, které jsou v aktivním stavu a připravené k doručení To zahrnuje odložené zprávy.
ScheduledMessageCount Počet zpráv v naplánovaném stavu
DeadLetterMessageCount Počet zpráv ve frontě nedoručených zpráv
TransferMessageCount Počet zpráv čekajících na přenos do jiné fronty nebo tématu
TransferDeadLetterMessageCount Počet zpráv, které se nepodařilo přenést do jiné fronty nebo tématu, a byly přesunuty do fronty pro přenos nedoručených zpráv.

Pokud aplikace chce škálovat prostředky na základě délky fronty, měla by to provést s měřením tempa. Získání čítačů zpráv je nákladná operace uvnitř zprostředkovatele zpráv a často ji spouští přímo a nepříznivě ovlivňuje výkon entity.

Další užitečnou metrikou, kterou je potřeba zvážit pro škálování, je doba mezi odesláním nejnovější zprávy a jejím zpracováním, označovanou také jako "kritická doba". To je užitečné ve scénářích, kdy fronta může obsahovat tisíce zpráv, ale zpracování je dostatečně rychlé, aby se udrželo vzhůru, což dává "kritický čas" jenom pár sekund, což může být víc než dost pro něco jako koncový bod pro odeslání e-mailu. Knihovny třetích stran, jako je NServiceBus, generují tuto a další užitečné metriky prostřednictvím OpenTelemetry.

Poznámka:

Zprávy odeslané do tématu služby Service Bus se přepošle odběrům daného tématu. Počet aktivních zpráv na samotném tématu je tedy 0, protože se tyto zprávy úspěšně přeposílaly do odběru. Získejte počet zpráv v předplatném a ověřte, že je větší než 0. I když se v odběru zobrazují zprávy, ve skutečnosti se ukládají do úložiště vlastněného tématem. Pokud se podíváte na předplatná, budou mít nenulový počet zpráv, které přispívají k úložišti používanému tématem.

Pomocí webu Azure Portal

Přejděte do svého oboru názvů a vyberte frontu. Čítače zpráv se zobrazí na stránce Přehled fronty.

Snímek obrazovky se stránkou Přehled fronty se zvýrazněnou částí Počet zpráv

Přejděte do svého oboru názvů, vyberte téma a pak vyberte předplatné tématu. Čítače zpráv se zobrazí na stránce Přehled fronty.

Snímek obrazovky se stránkou Přehled odběru tématu se zvýrazněnou částí Počet zpráv

Pomocí Azure CLI

az servicebus queue show Pomocí příkazu získáte podrobnosti o počtu zpráv pro frontu, jak je znázorněno v následujícím příkladu.

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

Tady je ukázkový výstup:

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

az servicebus topic subscription show Pomocí příkazu získejte podrobnosti o počtu zpráv pro odběr, jak je znázorněno v následujícím příkladu.

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

Použití Azure Powershell

Pomocí PowerShellu můžete získat podrobnosti o počtu zpráv pro frontu následujícím způsobem:

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

$queueObj.CountDetails

Tady je ukázkový výstup:

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

Podrobnosti o počtu zpráv pro odběr můžete získat následujícím způsobem:

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

$topicObj.CountDetails

Vrácený MessageCountDetails objekt má následující vlastnosti: ActiveMessageCount, DeadLetterMessageCount, ScheduledMessageCount, TransferDeadLetterMessageCount, TransferMessageCount.

Další kroky

Vyzkoušejte ukázky v jazyce podle vašeho výběru a prozkoumejte funkce služby Azure Service Bus.

Ukázky pro starší klientské knihovny .NET a Java najdete níže:

30. září 2026 vyřadíme knihovny sady SDK služby Azure Service Bus pro WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus a com.microsoft.azure.servicebus, které nevyhovují pokynům sady Azure SDK. Také ukončíme podporu protokolu SBMP, takže tento protokol už nebudete moct používat po 30. září 2026. Před tímto datem migrujte na nejnovější knihovny sady Azure SDK, které nabízejí důležité aktualizace zabezpečení a vylepšené funkce.

I když starší knihovny je možné používat i po 30. září 2026, nebudou už od Microsoftu dostávat oficiální podporu a aktualizace. Další informace najdete v oznámení o vyřazení podpory.