Я слежу за nodejs примерами здесь , чтобы получить сообщения, отправленные в очередь недоставленных сообщений.Я вставлял в Q пустые буквы следующим образом:
await brokeredMessage.deadLetter({
deadletterReason: 'bad',
deadLetterErrorDescription: 'too bad, so sad.',
});
Я вижу, что в Azure число мертвых букв 2 .Независимо от того, пришли ли они из-за кода, указанного выше, или из-за какого-то другого сбоя, сообщения были буквально забиты, у меня 2 в DLQ.Однако Я не могу получить их с помощью:
const client = ns.createQueueClient(queueName);
const receiver = client.getReceiver();
const sender = client.getSender();
const messages = await receiver.receiveBatch(100);
if (messages.length > 0) {
for (let i = 0; i < messages.length; i += 1) { ... }
} else {
// I ALWAYS GET HERE.
}
Что я делаю не так?Там нет ошибок.Почему я не могу прочитать DLQ и получить там 2 предмета?Меняется ли имя очереди, как это происходит для вредоносных сообщений?Я использую одно и то же имя очереди при отправке, рассылке и пытаюсь прочитать DLQ.