Как снять блокировку полученного сообщения из очереди служебной шины azure с помощью isPeekLock: true - PullRequest
0 голосов
/ 06 мая 2020

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

const azure = require('azure');
const serviceBusService = azure.createServiceBusService();

serviceBusService.receiveQueueMessage('queueName', { isPeekLock: true }, (error, lockedMessage) => {
    if (error) {
      console.log('Error', error)
    } else {
      console.log('Message', lockedMessage)
    }
  });

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

Я ничего не нашел в документации azure.

1 Ответ

1 голос
/ 06 мая 2020

Вы должны использовать метод unlockMessage, чтобы снять блокировку, которую вы получили во время peekLock.

Цитата из этой ссылки ниже https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-nodejs-how-to-use-queues#how -to-handle-application-crashes-and-unreadable-messages

"Служебная шина предоставляет функции, которые помогут вам корректно восстановиться после ошибок в вашем приложении или трудностей с обработкой сообщения. Если приложение-получатель не может обработать сообщение по какой-либо причине, оно может вызовите метод unlockMessage для объекта ServiceBusService. Это приведет к тому, что служебная шина разблокирует сообщение в очереди и сделает его доступным для повторного получения либо тем же приложением-потребителем, либо другим приложением-потребителем. "

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