2015-10-21 27 views
3

我想知道是否有可以在队列之间移动消息的工具或lib? 目前,我做喜欢的事,下面Azure:如何将消息从毒队列移回主队列?

public static void ProcessQueueMessage([QueueTrigger("myqueue-poison")] string message, TextWriter log) 
{ 
     CloudStorageAccount storageAccount = CloudStorageAccount.Parse(connString); 
     CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient(); 
     CloudQueue queue = queueClient.GetQueueReference("myqueue"); 
     queue.CreateIfNotExists(); 

     var messageData = JsonConvert.SerializeObject(data, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }); 
     queue.AddMessage(new CloudQueueMessage(messageData)); 
} 

感谢

回答

3

本质Azure存储不支持从一个队列移动邮件到另一个。你需要自己做。

实现将消息从一个队列移动到另一个队列的一种方法是通过从源队列中去队列消息(通过调用GetMessages),读取消息的内容,然后在目标队列中创建一条新消息。这可以通过使用Storage Client Library来完成。

我想到的移动消息的一个工具是Cerebrata Azure Management Studio。它具有此功能。出于某种原因,我认为它也可用于Azure Storage Explorer工具,但我可能是错的。

+1

Azure存储浏览器在撰写本文时似乎不支持此操作。 – Sentinel