Berichten bladeren of bekijken
Door berichten te bladeren of te bekijken, kan een Service Bus-client alle berichten in een wachtrij of een abonnement opsommen voor diagnostische en foutopsporingsdoeleinden.
De bewerking Weergeven in een wachtrij of een abonnement retourneert maximaal het aangevraagde aantal berichten. In de volgende tabel ziet u de typen berichten die worden geretourneerd door de bewerking Peek.
Type berichten | Inbegrepen? |
---|---|
Actieve berichten | Ja |
Berichten met onbestelbare berichten | Nee |
Vergrendelde berichten | Ja |
Uitgestelde berichten | Ja |
Verlopen berichten | Kan zijn (voordat ze doodgeletterd zijn) |
Geplande berichten | Ja voor wachtrijen. Nee voor abonnementen |
Berichten met onbestelbare berichten
Als u berichten met een wachtrij of abonnement wilt bekijken die niet zijn geschreven , moet de korte weergavebewerking worden uitgevoerd in de wachtrij met dode letters die is gekoppeld aan de wachtrij of het abonnement. Zie voor meer informatie toegang tot wachtrijen met dode brieven.
Verlopen berichten
Verlopen berichten kunnen worden opgenomen in de resultaten die zijn geretourneerd door de bewerking Peek. Verbruikte en verlopen berichten worden opgeschoond door een asynchrone 'garbagecollection' uit te voeren. Deze stap kan niet noodzakelijkerwijs onmiddellijk plaatsvinden nadat berichten zijn verlopen. Daarom kan een korte bewerking berichten retourneren die al zijn verlopen. Deze berichten worden verwijderd of niet-geschreven wanneer een ontvangstbewerking de volgende keer wordt aangeroepen in de wachtrij of het abonnement. Houd rekening met dit gedrag bij het herstellen van uitgestelde berichten uit de wachtrij.
Een verlopen bericht komt niet meer in aanmerking voor regelmatig ophalen op een andere manier, zelfs niet wanneer het wordt geretourneerd door Peek. Het retourneren van deze berichten is standaard omdat Peek een diagnostisch hulpprogramma is dat de huidige status van het logboek weergeeft.
Vergrendelde berichten
Een korte weergave retourneert ook berichten die zijn vergrendeld en die momenteel door andere ontvangers worden verwerkt. Omdat Peek echter een niet-verbonden momentopname retourneert, kan de vergrendelingsstatus van een bericht niet worden waargenomen bij bekeken berichten.
Uitgestelde berichten
Uitgestelde berichten blijven in de hoofdwachtrij, samen met alle andere actieve berichten (in tegenstelling tot berichten in een subqueeque), maar ze kunnen niet meer worden ontvangen met behulp van de normale ontvangstbewerkingen. Uitgestelde berichten kunnen worden gedetecteerd via het bladeren door berichten als een toepassing deze niet meer bijhoudt.
Als u een uitgesteld bericht wilt ophalen, is de eigenaar verantwoordelijk voor het onthouden van het volgnummer wanneer het wordt uitgesteld. Elke ontvanger die het volgnummer van een uitgesteld bericht kent, kan het bericht later ontvangen met behulp van ontvangstmethoden die het volgnummer als parameter gebruiken. Zie Berichtvolgorde en tijdstempels voor meer informatie over volgnummers.
API's bekijken
Een korte weergave werkt voor wachtrijen, abonnementen en hun wachtrijen met dode letters.
Wanneer de korte weergave herhaaldelijk wordt aangeroepen, worden alle berichten in de wachtrij of het abonnement opgesomd, in volgorde, van het laagste beschikbare volgnummer naar het hoogste. Het is de volgorde waarin berichten werden geïn enqueued, niet de volgorde waarin berichten uiteindelijk kunnen worden opgehaald.
U kunt ook een SequenceNumber doorgeven aan een peek-bewerking. Het wordt gebruikt om te bepalen waar u een kijkje moet nemen. U kunt volgende aanroepen naar de peek-bewerking uitvoeren zonder de parameter op te geven om verder te inventariseren.
Maximum aantal berichten
U kunt het maximum aantal berichten opgeven dat de korte weergavebewerking moet retourneren. Maar er is geen manier om een minimale grootte voor de batch te garanderen. Het aantal geretourneerde berichten is afhankelijk van verschillende factoren waarvan de meest impactvolle is hoe snel het netwerk berichten naar de client kan streamen.
Hier volgt een voorbeeldfragment voor het bekijken van alle berichten met de .NET SDK. De SequenceNumber
kan worden gebruikt om het laatst bekeken bericht bij te houden en te beginnen met bladeren bij het volgende bericht.
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);
}
De volgende voorbeelduitvoer is het bekijken van een wachtrij met 13 berichten erin.
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
Gerelateerde inhoud
Probeer de voorbeelden in de taal van uw keuze om Azure Service Bus-functies te verkennen.
- Voorbeelden van Azure Service Bus-clientbibliotheek voor .NET (nieuwste versie): voorbeeld van het verzenden en ontvangen van berichten .
- Voorbeelden van Azure Service Bus-clientbibliotheek voor Java (nieuwste) - Een voorbeeld van een bericht bekijken
- Voorbeelden van Azure Service Bus-clientbibliotheek voor Python - receive_peek.py-voorbeeld
- Voorbeelden van Azure Service Bus-clientbibliotheek voor JavaScript-browseMessages.js -
- Voorbeelden van Azure Service Bus-clientbibliotheek voor TypeScript-browseMessages.ts-voorbeeld -
Hier vindt u voorbeelden voor de oudere .NET- en Java-clientbibliotheken:
- Voorbeelden van Azure Service Bus-clientbibliotheken voor .NET-voorbeeld (verouderd) - -voorbeeld van message browsing (peek)
- Voorbeelden van Azure Service Bus-clientbibliotheek voor Java (verouderd) - Voorbeeld van berichten bladeren.
Op 30 september 2026 gaan we de Azure Service Bus SDK-bibliotheken WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus en com.microsoft.azure.servicebus buiten gebruik stellen, die niet voldoen aan de Azure SDK-richtlijnen. We beëindigen ook de ondersteuning van het SBMP-protocol, zodat u dit protocol na 30 september 2026 niet meer kunt gebruiken. Migreer naar de nieuwste Azure SDK-bibliotheken, die vóór die datum essentiële beveiligingsupdates en verbeterde mogelijkheden bieden.
Hoewel de oudere bibliotheken nog steeds meer dan 30 september 2026 kunnen worden gebruikt, ontvangen ze geen officiële ondersteuning en updates meer van Microsoft. Zie de aankondiging van de buitengebruikstelling van de ondersteuning voor meer informatie.