CloudQueue GetMessage与GetMessages

use*_*812 1 azure azure-storage

我想知道使用GetMessage和GetMessages逐个获取消息的开销是多少?我应该总是使用GetMessages(32)并且它会比GetMessage()有任何优势吗?

Gau*_*tri 5

假设您的队列中有32条消息,并且您的目的是获取队列中的所有消息,如果您调用GetMessage(),则需要进行32次调用以获取所有消息,从而获得32个API事务,就像调用GetMessages(32)一样你只需一次调用即可获得所有消息,因此只需1次交易.

不仅如此,我认为这取决于您的申请.例如,我一直在玩这个功能,我决定我的应用程序的工作者角色(让我们称之为"消费者")实例一次可以处理4个消息.在这种情况下,对我来说最好使用GetMessages(4)从队列中获取4条消息,并确保我的消费者实例处理的4条消息对其他呼叫者是不可见的.如果我使用了GetMessage(),那么我将不得不进行4次调用,如果我使用了GetMessages(32),那么我的消费者实例将仅仅依赖于那些额外的28条消息而其他消费者实例将无法获得有机会处理这些消息.