Функция запуска служебной шины Azure: определите, является ли текущая попытка последней

#azure-functions #azureservicebus

Вопрос:

Прежде чем сообщение очереди служебной шины будет перемещено в DLQ, мне нужно очистить некоторые ресурсы, связанные с сообщением. Очевидно, что сообщение DeliveryCount должно быть сопоставлено с очередью MaxDeliveryCount , чтобы определить, является ли это последней попыткой или нет. Как я могу получить эту MaxDeliveryCount функцию из функции Azure?

Ответ №1:

Вы можете использовать клиент администратора служебной шины и получить его через клиент администратора свойств MaxDeliveryCount

 using Azure.Messaging.ServiceBus.Administration;
var adminclient = new ServiceBusAdministrationClient(yourconnectionstring);
QueueProperties runtime = await adminclient.GetQueueAsync(queuename);
Console.WriteLine("Max delivery count is"   runtime.MaxDeliveryCount);
 

Комментарии:

1. Это работает, спасибо! Я нахожу немного неловким, что на QueueProperties него нет ссылки из ServiceBusReceivedMessage свойства.