是否可以将消息添加到Azure队列中,然后在相同的流程中更新或删除该消息?
我们的想法是使用队列来确保完成一些工作--有一个工作者角色在监控这个队列。但是,添加消息的Web角色也许能够在事务处理方面取得一些进展(有时甚至可以完成)。
worker已经被设计为处理双重传递和重新处理部分处理的消息(来自以前失败的worker尝试)-因此这里不存在技术问题,只是时间效率低下和一些多余的存储事务。
到目前为止,添加消息似乎允许传递延迟,给web角色一些时间,但不会返回一个弹出回执,这似乎是我们需要更新/删除消息。我是不是遗漏了什么?
发布于 2018-01-19 15:54:04
这个特性似乎是作为"2016-05-31” REST API的一部分添加的
现在,我们在Put Message (又称
Message)响应中提供了pop回执的值,它允许用户更新/删除消息,而无需首先检索消息。
发布于 2014-12-12 15:58:50
我建议你遵循这些步骤,因为它对我有效
如何:创建队列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'://从连接字符串中检索存储帐户。CloudConfigurationManager.GetSetting("StorageConnectionString"));= CloudStorageAccount storageAccount =CloudStorageAccount.Parse
// 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
https://stackoverflow.com/questions/26914717
复制相似问题