也许有人可以解释为什么Azure队列的最大TTL为7天?
我习惯使用NServicebus,其中事件(消息)将是业务流程的重要组成部分,当然这可能永远不会被删除。我非常喜欢队列为我提供可靠通信的方式,最终将在独立应用程序中处理事件。
那为什么MS有这个最大保留期?为什么7天,因为这是整整一周?我真的很想了解他们的理由。我知道我可以创建一个队列触发器并将它们存储在别处。
编辑:现在已经使用新版本的WindowsAzure.Storage进行了更改。这比较了新旧行为。
//WindowsAzure.Storage 8.7
queue.AddMessage(message); // TTL is 7 days
queue.AddMessage(message, TimeSpan.MaxValue); // Throws The argument 'timeToLive' is larger than maximum of '7.00:00:00'
//WindowsAzure.Storage 9.0
queue.AddMessage(message); // TTL is 7 days
queue.AddMessage(message, TimeSpan.MaxValue); //Expiration Time is now 31.dec 9999
答案 0 :(得分:1)
看起来这个限制已经被使用新的REST API版本的新C#Storage SDK V9.0.0删除了,尽管我无法在存储博客上的任何地方或任何地方找到对这些REST API的任何引用。 https://github.com/Azure/azure-storage-net/blob/master/changelog.txt
我已对此进行了测试,它适用于Storage SDK的V9.0.0,TTL可以是无限的。