Ü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.
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.
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.
- Azure Service Bus-ügyfélkódtár-minták a .NET-hez (legújabb)
- Azure Service Bus-ügyfélkódtár-minták Java-hoz (legújabb)
- Azure Service Bus-ügyfélkódtár-minták Pythonhoz
- Azure Service Bus-ügyfélkódtár-minták JavaScripthez
- Azure Service Bus-ügyfélkódtár-minták TypeScripthez
A régebbi .NET- és Java-ügyfélkódtárak mintáit az alábbiakban találja:
- Azure Service Bus-ügyfélkódtár-minták .NET-hez (örökölt)
- Azure Service Bus-ügyfélkódtár-minták Java-hoz (örökölt)
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.