使用AWS SQS时," SentTimestamp "消息的属性在从队列接收后发生更改,但在可见性超时过期后未被删除并返回队列?
答案 0 :(得分:2)
不,并且该行为是不合需要的,因为SentTimestamp
具体描述了消息首次发送到队列的时间。
描述可见性超时的documentation提供了一些见解:
组件收到消息后,消息立即生效 仍然在队列中。但是,您不需要其他组件 系统再次接收和处理消息。因此,亚马逊 SQS使用可见性超时来阻止它们,这是一段时间 在此期间,Amazon SQS会阻止其他消费组件 接收和处理该消息。
这里重要的一点是,消息永远不会真正离开队列,它只是对正在接收消息的其他客户端隐藏。因此,MessageID和SentTimeout等消息内容不会更改。另一方面,每次收到消息时,与接收RecieptHandle和Receive Count等消息相关的事情都会发生变化。
您可以通过以下方式从AWS Web控制台自我验证: