【发布时间】:2018-08-26 01:31:16
【问题描述】:
为了进行集成检查,我想计算 Azure 队列上的消息数。该方法如下所示:
internal void VerifyMessagesOnQueue(string queueNameKey, int expectedNumberOfMessages)
{
var azureStorageConnectionKey = ConfigurationManager.AppSettings["AzureStorageConnectionKey"];
var storageAccount = CloudStorageAccount.Parse(azureStorageConnectionKey);
var queueClient = storageAccount.CreateCloudQueueClient();
var queue = queueClient.GetQueueReference(ConfigurationManager.AppSettings[queueNameKey]);
var messages = queue.PeekMessages(int.MaxValue);
messages.Count().Should().Be(expectedNumberOfMessages);
}
现在我正在使用var messages = queue.PeekMessages(int.MaxValue); 尝试获取队列中的所有消息。它返回一个 HTML 响应 400。我试过 var messages = queue.PeekMessages(expectedNumberOfMessages);,但是当 expectedNumberOfMessages 为 0 时,我也得到一个 HTML 响应 400。
如何在不中断 Azure 队列的情况下可靠地检查消息数量(这就是我使用 .PeekMessage 的原因)?
【问题讨论】:
标签: azure message-queue azure-queues