Microsoft. Azure .ServiceBus: предоставленная блокировка недействительна. Либо истек срок блокировки, либо сообщение уже удалено из очереди - PullRequest
1 голос
/ 31 марта 2020

У меня есть активированная функция topi c служебной шины, которая запускается всякий раз, когда некоторые данные передаются в topi c.

Функция выглядит примерно так:

[FunctionName("funcGetServiceBusEntities")]
public async Task Run([ServiceBusTrigger("sbtopic", "sbsub", Connection = "ServiceBusConnectionString")]Message message, MessageReceiver messageReceiver, [DurableClient] IDurableOrchestrationClient starter, ILogger log)
{  
   // perform processing on the data

   //...

   //...

   // Complete since we don't want to process the message again
   await messageReceiver.CompleteAsync(message.SystemProperties.LockToken);

   //...
}

Я не уверен, почему я получаю эту ошибку:

Microsoft. Azure. ServiceBus: предоставленная блокировка недействительна. Либо истек срок блокировки, либо сообщение уже удалено из очереди. Ссылка: ab88d42f-5fed-4392-983a-921cc6eab776, TrackingId: 7664c851-9f29-4b4f-a334-4038e0921810_B11, SystemTracker: sb-dev: Topi c: sbtopic | sbsub, метка времени: 2020-03-31T12: 09-03: 31T12: .

Не является ли реализация CompleteAsync неправильной?

1 Ответ

3 голосов
/ 01 апреля 2020

Это то, с чем вы столкнулись сейчас:

enter image description here

Обратите внимание, что после срабатывания сообщение будет удалено. Поэтому вам не нужно помечать его и не беспокоиться о том, чтобы обработать сообщение снова. Он уже удален.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...