我在这里关注nodejs示例来检索发送到死信队列的消息。我以这种方式将死信推到 Q 上:
await brokeredMessage.deadLetter({
deadletterReason: 'bad',
deadLetterErrorDescription: 'too bad, so sad.',
});
我确实看到 Azure 中的死信计数为2。无论这些是由于我上面的死信代码还是其他一些事故导致消息被死信,我在 DLQ 中有 2 个。但是我无法通过以下方式检索它们:
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 时使用相同的队列名称。