Azure Queue,AddMessage然后是UpdateMessage

时间:2014-11-13 17:23:20

标签: azure-queues azure-storage azure-storage-queues

是否可以将消息添加到Azure队列,然后在同一个流程中更新或删除该消息?

这个想法是使用队列来确保完成一些工作 - 有一个工作者角色监视该队列。但是,添加消息的Web角色可能会在事务中取得一些进展(有时甚至完成)。

工作人员已经被设计为处理双重传递和重新处理部分处理的消息(来自之前的失败的工作者尝试) - 所以这里没有技术问题,只是时间效率低下和一些多余的存储事务。

到目前为止,似乎添加消息允许传递延迟,给Web角色一些时间,但不会返回弹出收据,似乎我们需要更新/删除消息。我错过了什么吗?

2 个答案:

答案 0 :(得分:0)

似乎此功能已添加为"2016-05-31” REST API

的一部分
  

我们现在在Put Message(又名Add Message)响应中提供pop pop值,该响应允许用户更新/删除消息而无需先检索消息。

答案 1 :(得分:-1)

我建议您按照这些步骤操作

如何:创建队列 CloudQueueClient对象允许您获取队列的引用对象。以下代码创建CloudQueueClient对象。本指南中的所有代码都使用存储在Azure应用程序的服务配置中的存储连接字符串。还有其他方法可以创建CloudStorageAccount对象。有关详细信息,请参阅CloudStorageAccount文档。

// Retrieve storage account from connection string
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
CloudConfigurationManager.GetSetting("StorageConnectionString"));

// Create the queue client
CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();

使用queueClient对象获取对要使用的队列的引用。如果队列不存在,您可以创建队列。

// Retrieve a reference to a queue
CloudQueue queue = queueClient.GetQueueReference("myqueue");

// Create the queue if it doesn't already exist
queue.CreateIfNotExists();

如何:将消息插入队列 要将消息插入现有队列,请首先创建一个新的CloudQueueMessage。接下来,调用AddMessage方法。可以从字符串(UTF-8格式)或字节数组创建CloudQueueMessage。这是创建队列的代码(如果它不存在)并插入消息'Hello,World':     //从连接字符串中检索存储帐户。     CloudStorageAccount storageAccount = CloudStorageAccount.Parse(     CloudConfigurationManager.GetSetting( “StorageConnectionString”));

// Create the queue 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();

// Create a message and add it to the queue.
CloudQueueMessage message = new CloudQueueMessage("Hello, World");
queue.AddMessage(message);

有关详细信息,请参阅此链接。     http://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-queues/

Girish Prajwal