【发布时间】:2019-02-22 19:20:34
【问题描述】:
我正在按照 nodejs 示例here 检索发送到死信队列的消息。我以这种方式将死信推到 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 时使用相同的队列名称。
【问题讨论】:
-
什么是变量ns?
标签: azure-functions azureservicebus azure-servicebus-queues azure-node-sdk