Как я могу просмотреть второй набор сообщений в разделе служебной шины?

#azureservicebus #azure-servicebus-topics

#azureservicebus #azure-servicebus-темы

Вопрос:

Я пытаюсь понять, как я могу отправлять дополнительные сообщения из темы служебной шины.

Я могу получить первые ~ 250 сообщений из очереди мертвых писем, но когда я пытаюсь получить следующие 250, я снова получаю первые 250.

Подписка на тему, на которую я ориентируюсь, содержит более 60 000 сообщений в очереди мертвых писем.

Я использую Azure.Messaging.ServiceBus пакет NuGet с версией 7.0.1

 await using var client = new ServiceBusClient(ConnectionString);
var serviceBusReceiver = client.CreateReceiver(TopicName, SubscriptionName, new ServiceBusReceiverOptions
{
    SubQueue = SubQueue.DeadLetter
});

for (var i = 0; i < 1000; i  = 250)
{
    var serviceBusReceivedMessages = await serviceBusReceiver.PeekMessagesAsync(250, i);
    foreach (var message in serviceBusReceivedMessages)
    {
        Console.WriteLine(message.MessageId);
    }
}
 

Кто-нибудь может помочь?

Ответ №1:

Пиковые сообщения с помощью NServiceBus так не работают. При достижении максимума N сообщений вы получите значение N, а не точно N. Поэтому я бы предложил увеличить ваш fromSequenceNumber параметр, переданный в ServiceBusReceiver.PeekMessagesAsync , на значение serviceBusReceivedMessages.Count .