Üzenetek tallózása vagy bepillantás
Az üzenetek böngészése vagy betekintése lehetővé teszi a Service Bus-ügyfél számára, hogy diagnosztikai és hibakeresési célokból számbavételt adjon az üzenetsorokban vagy előfizetésekben lévő összes üzenetnek.
Az üzenetsoron vagy előfizetésen végzett Betekintő művelet legfeljebb a kért számú üzenetet adja vissza. Az alábbi táblázat a Betekintő művelet által visszaadott üzenetek típusait mutatja be.
Üzenetek típusa | Tartalmazza? |
---|---|
Aktív üzenetek | Igen |
Kézbesítetlen üzenetek | Nem |
Zárolt üzenetek | Igen |
Halasztott üzenetek | Igen |
Lejárt üzenetek | Lehetséges, hogy (a halottbetűs betű előtt) |
Ütemezett üzenetek | Igen az üzenetsorokhoz. Nem előfizetésekhez |
Kézbesítetlen üzenetek
Ha egy üzenetsor vagy előfizetés kézbesítetlen levelű üzeneteibe szeretne betekinteni, a betekintő műveletet az üzenetsorhoz vagy előfizetéshez társított holtbetűs üzenetsoron kell futtatni. További információkért lásd a kézbesítetlen levelek üzenetsorainak elérését.
Lejárt üzenetek
Előfordulhat, hogy a lejárt üzenetek megjelennek a Betekintő művelet által visszaadott eredmények között. A felhasznált és lejárt üzeneteket aszinkron "szemétgyűjtés" futtatja. Előfordulhat, hogy ez a lépés nem feltétlenül következik be közvetlenül az üzenetek lejárta után. Ezért előfordulhat, hogy egy betekintő művelet már lejárt üzeneteket ad vissza. Ezeket az üzeneteket a rendszer eltávolítja vagy kézbesítetlenként küldi el, amikor a rendszer a következő alkalommal meghív egy fogadási műveletet az üzenetsoron vagy az előfizetésen. Tartsa szem előtt ezt a viselkedést, amikor halasztott üzeneteket próbál helyreállítani az üzenetsorból.
A lejárt üzenetek már nem jogosultak a rendszeres lekérésre semmilyen más módon, még akkor sem, ha azt a Betekintő visszaküldi. Ezeknek az üzeneteknek a visszaadása terv szerint történik, mivel a Betekintő egy diagnosztikai eszköz, amely a napló aktuális állapotát tükrözi.
Zárolt üzenetek
A Betekintő szintén olyan üzeneteket ad vissza, amelyeket zároltak, és amelyeket jelenleg más fogadók dolgoznak fel. Mivel azonban a Betekintés leválasztott pillanatképet ad vissza, az üzenet zárolási állapota nem figyelhető meg a betekintett üzeneteken.
Halasztott üzenetek
A késleltetett üzenetek a fő üzenetsorban maradnak az összes többi aktív üzenettel együtt (ellentétben az alkonyatban élő holtbetűs üzenetekkel), de már nem fogadhatók a szokásos fogadási műveletekkel. Ha egy alkalmazás nem tudja nyomon követni őket, a késleltetett üzeneteket az üzenetek böngészésével lehet felderíteni.
Halasztott üzenetet szeretne lekérni, a tulajdonos felelős azért, hogy jegyezze meg a sorszámot , miközben az ellenszegül. A késleltetett üzenetek sorszámát ismerő fogadók később megkaphatják az üzenetet olyan fogadási metódusok használatával, amelyek paraméterként használják a sorszámot. További információ a sorszámokról: Üzenet szekvenálása és időbélyegek.
Api-k betekintője
A Betekintés az üzenetsorokon, az előfizetéseken és a kézbesítetlen levelek üzenetsorán működik.
Ismétlődő meghívás esetén a betekintő művelet az üzenetsor vagy előfizetés összes üzenetét számba adja, sorrendben a legalacsonyabb elérhető sorszámtól a legmagasabbig. Ez az üzenetek lekérésének sorrendje, nem pedig az a sorrend, amelyben az üzenetek végül lekérhetők.
A SequenceNumber parancsot egy betekintő műveletnek is átadhatja. Ez határozza meg, hogy honnan kezdjen betekinteni. A betekintő művelethez további hívásokat is kezdeményezhet anélkül, hogy meg kell adnia a paramétert a további számbavételhez.
Üzenetek maximális száma
Megadhatja a betekintő művelet által visszaadni kívánt üzenetek maximális számát. A köteg minimális méretét azonban nem lehet garantálni. A visszaadott üzenetek száma számos tényezőtől függ, amelyek közül a leghatásosabb az, hogy a hálózat milyen gyorsan képes üzeneteket streamelni az ügyfélnek.
Íme egy példarészlet, amely az összes üzenetet betekinti a .NET SDK-val. Ez SequenceNumber
használható az utolsó betekintő üzenet nyomon követésére és a következő üzenet böngészésének megkezdésére.
using Azure.Messaging.ServiceBus;
// Create a Service Bus client for your namespace
ServiceBusClient client = new ServiceBusClient("NAMESPACECONNECTIONSTRING");
// Create Service Bus receiver for your queue in the namespace
ServiceBusReceiver receiver = client.CreateReceiver("QUEUENAME");
// Peek operation with max count set to 5
var peekedMessages = await receiver.PeekMessagesAsync(maxMessages: 5);
// Keep receiving while there are messages in the queue
while (peekedMessages.Count > 0)
{
int counter = 0; // To get the sequence number of the last peeked message
int countPeekedMessages = peekedMessages.Count;
if (countPeekedMessages > 0)
{
// For each peeked message, print the message body
foreach (ServiceBusReceivedMessage msg in peekedMessages)
{
Console.WriteLine(msg.Body);
counter++;
}
Console.WriteLine("Peek round complete");
Console.WriteLine("");
}
// Start receiving from the message after the last one
var fromSeqNum = peekedMessages[counter-1].SequenceNumber + 1;
peekedMessages = await receiver.PeekMessagesAsync(maxMessages: 5, fromSequenceNumber: fromSeqNum);
}
Az alábbi mintakimenet egy üzenetsor betekintéséből származik, amelyben 13 üzenet található.
Message 1
Message 2
Message 3
Message 4
Message 5
Peek round complete
Message 6
Message 7
Message 8
Message 9
Message 10
Peek round complete
Message 11
Message 12
Message 13
Peek round complete
Kapcsolódó tartalom
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 .NET-hez (legújabb) – Üzenetminta küldése és fogadása.
- Azure Service Bus-ügyfélkódtár-minták Java-hoz (legújabb) - Betekintés egy üzenetmintába
- Azure Service Bus-ügyfélkódtár-minták Python-receive_peek.py-mintához -
- Azure Service Bus-ügyfélkódtár-minták JavaScript-browseMessages.js-mintához -
- Azure Service Bus-ügyfélkódtár-minták TypeScript-browseMessages.ts-mintához -
A régebbi .NET- és Java-ügyfélkódtárak mintáit itt találja:
- Azure Service Bus-ügyfélkódtár-minták .NET-hez (örökölt) - Üzenetböngészés (Betekintő) minta
- Azure Service Bus-ügyfélkódtár-minták Java-hoz (örökölt) - Üzenet tallózási mintája.
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.