Azure存储队列和最多一次交付
给我的印象是存储队列不支持此功能,但是经过调查后我找不到这方面的证据.
I was under the impression that this was not available with storage queue but after investigating I can't find proof of this.
MSDN文章说至少一次",但我能找到的最多信息是第一个使用者获得了该消息并将该消息设置为不可见.
MSDN articles say At-Least-Once but the most information I can find is that the first consumer gets the message and sets the message to invisible.
然后,当它再次变得可见时,可以再次拾取它.
Then when it becomes visible again it could be picked up again.
但是,我可以将隐形"设置为较大的时间跨度",并且可以检查出队计数以将其限制为一次发送".
However I could set invisible to a large TimeSpan and I could check Dequeue count to limit it to At-Most-Once delivery.
这是基于这样一种假设,即竞争的消费者无法同时获得我无法验证的同一条消息.
This is using the assumption that competing consumers can't grab the same message at the same time which I can't verify.
如果您的问题是Storage Queue是否最多提供一次交付,答案是否定的.如果您最多只需要使用一次,请使用服务总线队列.请参阅此处的基础功能"部分: https://docs.microsoft.com/zh-cn/azure/service-bus-messaging/service-bus-azure-and-service-bus-queues-compared-contrasted
If your question is whether Storage Queues offer at most once delivery, the answer is no. If you need at most once, use Service Bus queues. See the Foundational Capabilities section here: https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-azure-and-service-bus-queues-compared-contrasted