2015-10-21 221 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