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 Opgenomen?
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 niet-geschreven berichten van een wachtrij of abonnement wilt bekijken, moet de weergavebewerking worden uitgevoerd in de wachtrij met dode letters die aan de wachtrij of het abonnement is gekoppeld. 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 Python Service Bus SDK. De sequence_number​ 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

Probeer de voorbeelden in de taal van uw keuze om Azure Service Bus-functies te verkennen.

Hier vindt u voorbeelden voor de oudere .NET- en Java-clientbibliotheken:

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.