2015-10-21 1 views
3

Je me demande s'il existe un outil ou un lib qui peut déplacer des messages entre les files d'attente? Actuellement, je fais quelque chose comme ci-dessousAzure: comment déplacer les messages d'une file d'attente de poison vers la file d'attente principale?

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)); 
} 

Merci

Répondre

3

Essentiellement Azure Storage ne prend pas en charge le déplacement des messages d'une file d'attente à l'autre. Vous auriez besoin de le faire vous-même. Une manière d'implémenter le déplacement des messages d'une file d'attente à une autre consiste à retirer les messages de la file d'attente source (en appelant GetMessages), à lire le contenu du message puis à créer un nouveau message dans la file d'attente cible. C'est ce que vous pouvez faire en utilisant Storage Client Library.

Un outil qui me vient à l'esprit pour déplacer des messages est Cerebrata Azure Management Studio. Il a cette fonctionnalité. Pour une raison quelconque, je pense qu'il est également disponible dans l'outil Azure Storage Explorer, mais je peux me tromper.

+1

Azure Storage Explorer au moment de l'écriture ne semble pas prendre cela en charge. – Sentinel