Megosztás a következőn keresztül:


Üzenetszámlálók lekérése

Ez a cikk az üzenetsorok vagy előfizetések üzenetszámának különböző módjait mutatja be. Az aktív üzenetek számának ismerete hasznos annak meghatározásához, hogy egy üzenetsor létrehoz-e egy olyan teendőlistát, amely több erőforrást igényel a feldolgozáshoz, mint amennyi jelenleg üzembe lett helyezve.

Számláló Leírás
ActiveMessageCount Az üzenetsor vagy az előfizetés aktív állapotban lévő és kézbesítésre kész üzeneteinek száma.
ScheduledMessageCount Az ütemezett állapotban lévő üzenetek száma.
DeadLetterMessageCount A kézbesítetlen levelek üzenetsorában lévő üzenetek száma.
TransferMessageCount Egy másik üzenetsorba vagy témakörbe való átvitelre váró üzenetek száma.
TransferDeadLetterMessageCount Azoknak az üzeneteknek a száma, amelyeket nem sikerült átvinni egy másik üzenetsorba vagy témakörbe, és amelyek át lettek helyezve az átviteli kézbesítetlen levelek üzenetsorába.

Ha egy alkalmazás az üzenetsor hossza alapján szeretné skálázni az erőforrásokat, ezt mért ütemben kell elvégeznie. Az üzenetszámlálók beszerzése költséges művelet az üzenetközvetítőn belül, és gyakran közvetlenül és hátrányosan befolyásolja az entitás teljesítményét.

A skálázás szempontjából egy másik hasznos metrika a legutóbbi üzenet elküldése és feldolgozása közötti idő, más néven "kritikus idő". Ez olyan helyzetekben hasznos, amikor egy üzenetsor több ezer üzenetet tartalmaz, de a feldolgozás elég gyors ahhoz, hogy lépést tartson, mindössze néhány másodpercnyi "kritikus időt" biztosítva, ami több mint elegendő lehet egy e-mail-küldő végponthoz. Az olyan külső kódtárak, mint az NServiceBus , ezt és más hasznos metrikákat az OpenTelemetry használatával bocsátják ki.

Feljegyzés

A Service Bus-témakörbe küldött üzeneteket a rendszer az adott témakör előfizetéseinek továbbítja. Tehát a témakör aktív üzenetszáma 0, mivel ezek az üzenetek sikeresen továbbítva lettek az előfizetésbe. Kérje le az üzenetszámot az előfizetésben, és ellenőrizze, hogy 0-nál nagyobb-e. Annak ellenére, hogy az előfizetésben üzenetek jelennek meg, valójában a témakör tulajdonában lévő tárolóban vannak tárolva. Ha megtekinti az előfizetéseket, akkor nem nulla üzenetszámuk lenne (ami legfeljebb 323 MB területet ad hozzá az egész entitáshoz).

Az Azure Portal használata

Lépjen a névtérre, és válassza ki az üzenetsort. Az üzenetsor Áttekintés lapján üzenetszámlálók láthatók.

Képernyőkép egy üzenetsor Áttekintés oldaláról, kiemelve az Üzenetszám szakaszsal.

Lépjen a névtérre, válassza ki a témakört, majd válassza ki a témakör előfizetését. Az üzenetsor Áttekintés lapján üzenetszámlálók láthatók.

Képernyőkép egy témakör előfizetésének Áttekintés lapjáról, kiemelt Üzenetszám szakaszsal.

Az Azure parancssori felület használata

az servicebus queue show A paranccsal lekérheti az üzenetsor üzenetszámának részleteit az alábbi példában látható módon.

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

Íme egy mintakimenet:

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

az servicebus topic subscription show A paranccsal lekérheti az előfizetés üzenetszámának részleteit az alábbi példában látható módon.

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

Az Azure PowerShell használata

A PowerShell segítségével az üzenetsorok üzenetszámának adatait az alábbiak szerint szerezheti be:

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

$queueObj.CountDetails

A mintakimenet a következő:

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

az előfizetés üzenetszámának adatait az alábbiak szerint szerezheti be:

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

$topicObj.CountDetails

A visszaadott MessageCountDetails objektum a következő tulajdonságokkal rendelkezik: ActiveMessageCount, DeadLetterMessageCount, ScheduledMessageCount, TransferDeadLetterMessageCount, TransferMessageCount.

Következő lépések

Az Azure Service Bus funkcióinak megismeréséhez próbálja ki az Ön által választott nyelven elérhető mintákat.

A régebbi .NET- és Java-ügyfélkódtárak mintáit az alábbiakban találja:

2026. szeptember 30-án kivonjuk az Azure Service Bus SDK-kódtárakat a WindowsAzure.ServiceBus, a Microsoft.Azure.ServiceBus és a com.microsoft.azure.servicebus kódtárakból, amelyek nem felelnek meg az Azure SDK irányelveinek. Az SBMP protokoll támogatását is megszüntetjük, így 2026. szeptember 30. után már nem használhatja ezt a protokollt. Migrálás a legújabb Azure SDK-kódtárakba, amelyek kritikus fontosságú biztonsági frissítéseket és továbbfejlesztett képességeket kínálnak ezen dátum előtt.

Bár a régebbi kódtárak 2026. szeptember 30-tól továbbra is használhatók, a Microsoft már nem kap hivatalos támogatást és frissítéseket. További információkért lásd a támogatási nyugdíjazási bejelentést.