3

有没有办法检索隐藏的 Azure 存储队列消息?背景 - 我一直在寻找一个应用程序/cmdlet/第三方工具,它可以让我备份整个队列,包括隐藏消息(用于故障排除),但找不到。

我还考虑过编写一个 powershell 脚本来下载所有消息,但找不到检索隐藏消息的方法。

帮助将不胜感激!

4

3 回答 3

4

虽然我不知道 Azure 存储队列是否存在这样的工具,但您是否考虑过用于排队系统的 Azure 服务总线主题和订阅?在主题和订阅模型下,您可以设置以下架构:

[Topic] Place messages on this queue. They get replicated to each subscription.
 [Subscription1] Your backup process reads this queue and persists messages.
 [Subscription2] Your application reads from this queue for normal operation.

这有几个好处:

  • 它将您的备份和生产系统解耦,从而降低了例如错误的备份脚本最终影响生产行为的可能性
  • 锁定(“隐藏”)消息仅适用于给定订阅,因此您的备份队列将永远不必处理被生产队列隐藏或锁定的消息。

使用存储队列当然可以实现类似的设置,但 Azure 服务总线内置了这种行为。

于 2014-07-09T12:55:25.263 回答
3

简单的答案是您无法从队列中下载所有消息。隐藏的消息对所有其他呼叫者(包括任何 3rd 方应用程序)都是隐藏的,因此除了从使它们隐藏在第一个位置的应用程序之外,您无法阅读这些消息。

于 2014-07-09T13:05:53.750 回答
0

您提到要备份队列的原因是为了解决问题,这取决于您的问题所在,可能值得看看 Azure 存储的分析功能。日志基础架构实际上允许您记录每个事务,并大大简化了许多故障排除方案。在这里查看更多信息: http: //blogs.msdn.com/b/windowsazurestorage/archive/tags/analytics+ 2d00 +logging+_2600_amp_3b00_+metrics/

于 2014-07-10T03:56:53.287 回答