我对Azure很新,但很难设计或找到一种方法来读取队列中的消息。我有以下内容:
我现在正在努力的是,我可以通过漂亮的图表看到Portal给我收到的消息但是我希望看到它们的内容,这似乎至少无法通过Portal进行。
所以我开始手工破解一些代码来获取这些消息,但这也不起作用。
var credentials = new StorageCredentials("account", "key");
var storageAccount = new CloudStorageAccount(credentials, true);
var queue = storageAccount.CreateCloudQueueClient();
var messages = queue.GetQueueReference("orders").GetMessages(100, TimeSpan.FromHours(10), null, null);
我没有得到的是我需要将我的队列与存储相关联吗?
干杯,DS。
答案 0 :(得分:0)
这是一个从队列中检索消息的简单示例。首先,您需要创建CloudStorageAccount,以引用特定存储。其次,您创建一个新的CloudQueueClient,以便连接到您的CloudStorageAccount。获得CloudQueueClient后,您可以引用该队列并创建它。
// Your Storage credentials
var credentials = new StorageCredentials("account", "key");
var storageAccount = new CloudStorageAccount(credentials, true);
// Create a new client
CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();
// Retrieve a reference to a queue
CloudQueue queue = queueClient.GetQueueReference("myqueue");
// Create the queue if it doesn't already exist
queue.CreateIfNotExists();
// Send 10 messages to the queue
for (int i = 0; i < 10; i++)
{
// Create a message and add it to the queue.
CloudQueueMessage message = new CloudQueueMessage(string.Format("Hello, World {0}", i));
queue.AddMessage(message);
}
// Read next 20 messages
foreach (CloudQueueMessage message in queue.GetMessages(20, TimeSpan.FromMinutes(5)))
{
// Reading content from message
Console.WriteLine(message.AsString);
// Process all messages in less than 5 minutes, deleting each message after processing.
queue.DeleteMessage(message);
}