azure - 从 Azure 存储队列获取重复消息

标签 azure azure-storage azure-storage-queues

我从 Azure 存储队列收到重复消息。我确信我的函数仅执行一次,因为我在同一函数中将消息记录在数据库中。单击按钮后,我看到消息在存储队列中排队,并在一秒钟内出队(因此,这并不是有 2 条相同的消息排队)。

对此有什么想法吗?提前致谢!

P.S - 请注意,它不是 Azure 服务总线,我可以将属性 RequiresDuplicateDetection 设置为 True 来解决此问题。

最佳答案

目前,azure 存储队列不支持重复检测。

没有任何机制可以查询存储队列并查明具有相同内容的消息是否已经存在或以前存在。您可以尝试使用某些存储表来实现自己的逻辑,但这并不可靠 - 因为进入表可能会成功,然后进入队列可能会失败 - 现在表中可能会有错误的数据。

您的代码应始终假设它可以检索包含已处理的相同数据的消息。这是因为当处理消息的工作线程崩溃或花费太长时间时,消息可能会返回队列。

由于存储队列不支持重复检测,您可以给您的voice反馈。

enter image description here

更多详情可以引用这个article .

关于azure - 从 Azure 存储队列获取重复消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63556185/

相关文章:

c# - Azure函数中通过实例id获取主机锁租约的原因是什么?

azure - 使用 Azure Webjobs 和队列存储在给定时间执行

azure - transactionScope 如何影响 Azure 队列?

azure - 如何将 API 数据加载到 Azure Synapse 中?

azure - 如何在 Azure Log Analytics 中定期运行搜索作业?

node.js - Nodejs 使用 .createBlockBlobFromLocalFile() 将 base64 图像上传到 azure blob 存储

python - 将多个 blob 输入到 azure 函数 python 中

angularjs - 如何防止Azure在SAS url中添加%3F?

Azure 存储身份验证失败 - 受众验证失败。观众不匹配。 [ azure ][OAuth]

powershell - 如何使用powershell获取azure函数中的出队计数