Я создал лазурное приложение для служебной шины, которое заглядывает все сообщения в deadletter. Некоторые конкретные сообщения (с определенным messageid), которые я просматривал, нужно удалить из очереди с ошибкой. Просьба предоставить помощь для ее реализации. Большое спасибоКак просмотреть и удалить сообщение из мертвой точки в azureservicebus
ответ
Позвонив по ссылке на брокерское сообщение, которое вы получаете из очереди с мертвой буквой, вы можете удалить его из очереди с мертвой буквой.
Hi aravind, большое спасибо за ваш ответ – pilid
@pilid, если ответ правильный, как будто кажется, отметьте его как ответ. –
Во-первых, если вам нужно знать, как создать тему службы шины и подписки:
Чтобы получить сообщение от подписки, необходимо создать приемник сообщений:
//Create the messaging factory
var messagingFactory = MessagingFactory.CreateFromConnectionString("ServiceBusConnectionString");
// Get the dead letter path
var deadLetterPath = SubscriptionClient.FormatDeadLetterPath("TopicPath", "subscriptionName");
// Get the message receiver for the deal letter queue.
var messageReceiver = messagingFactory.CreateMessageReceiver(deadLetterPath);
Затем вы можете просто послушать приходящие сообщения:
// This is the list of ids that need to be delete
var messageIdsToDelete = new List<long>(...);
messageReceiver.OnMessage((message) =>
{
// Check if we have to delete the message
if (messageIdsToDelete.Contains(message.SequenceNumber))
{
// Complete and delete the message from the queue.
message.Complete();
}
}, new OnMessageOptions());
Можете вы показать нам, что вы натворили на данный момент? – Thomas