2

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

这个想法是使用队列来确保完成一些工作 - 有一个工作人员角色监控该队列。但是,添加消息的 Web 角色可能能够在交易方面取得一些进展(有时甚至完成)。

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

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

4

2 回答 2

0

似乎此功能是作为“2016-05-31”REST API的一部分添加的

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

于 2018-01-19T07:54:04.337 回答
-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 方法。CloudQueueMessage 可以从字符串(UTF-8 格式)或字节数组创建。这是创建队列(如果不存在)并插入消息“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/

吉里什·普拉杰瓦尔

于 2014-12-12T07:58:49.850 回答