我是否理解正确,在 Windows Azure 队列存储中,消息最多可以存在 7 天?
7 天后该消息会发生什么情况?
如果您在 7 天内阅读了一次并且不删除该邮件,会发生什么情况?我的意思是您从队列中读取消息并将可见性超时设置为 1 分钟。在您阅读消息(不删除它)并且 1 分钟超时可见性到期后会发生什么?我知道队列已经回来并且可用,但是该消息的 7 天 TTL 会发生什么情况,它是从那一点更新到 7 天,还是自消息创建以来完全是 7 天?
我是否理解正确,在 Windows Azure 队列存储中,消息最多可以存在 7 天?
7 天后该消息会发生什么情况?
如果您在 7 天内阅读了一次并且不删除该邮件,会发生什么情况?我的意思是您从队列中读取消息并将可见性超时设置为 1 分钟。在您阅读消息(不删除它)并且 1 分钟超时可见性到期后会发生什么?我知道队列已经回来并且可用,但是该消息的 7 天 TTL 会发生什么情况,它是从那一点更新到 7 天,还是自消息创建以来完全是 7 天?
现在,您可以通过在最初对消息进行排队时指定 -1 秒的过期时间来为 Azure 存储队列消息选择无限 TTL。
消息的生存时间间隔,以秒为单位。在版本 2017-07-29 之前,允许的最长生存时间为 7 天。对于版本 2017-07-29 或更高版本,最大生存时间可以是任何正数,以及 -1 表示消息未过期。如果省略此参数,则默认生存时间为 7 天。
https://docs.microsoft.com/en-us/rest/api/storageservices/put-message#uri-parameters
是的,你理解正确。来自队列的消息会在 7 天内自动删除,并且没有所谓的“重新更新”。一旦插入到队列存储中,它将被自动删除,您无法恢复它(也没有恢复工具)。
添加消息时,用户指定一个生存时间(< 7 天),如果该消息仍然存在于队列中,则会自动删除该时间。
也许您需要使用 Windows Azure 服务总线队列。看一下 Azure 上可用的两个队列之间的一个很好的比较:
http://msdn.microsoft.com/en-us/library/windowsazure/hh767287.aspx
是的,最多 7 天。这里有反馈功能请求。你可以去评论
https://feedback.azure.com/forums/217298-storage/suggestions/4134167-infinite-ttl-for-queue-messages