Java 获取消息的当前可见性超时

Java 获取消息的当前可见性超时,java,amazon-web-services,amazon-sqs,Java,Amazon Web Services,Amazon Sqs,我对SQS非常陌生,如果我忽略了一些明显的事情,我很抱歉,但是有没有办法获取SQS中消息的当前可见性超时?我可以看到如何更新超时可见性。但是我没有看到任何关于获取消息当前可见性超时的信息(也许您可以在接收消息时查看) 我的用例是基于给定消息的当前可见性超时更改可见性超时。这可能吗 (注意:我知道我可以使用近似的接收时间来达到类似的效果,如果无法获得当前的可视时间,我将选择该路线)看起来这是不可能的 尽管近似的ReceiveCount可能至少足以满足我的用例。怀疑您必须获得SQS队列的可见性超时(

我对SQS非常陌生,如果我忽略了一些明显的事情,我很抱歉,但是有没有办法获取SQS中消息的当前可见性超时?我可以看到如何更新超时可见性。但是我没有看到任何关于获取消息当前可见性超时的信息(也许您可以在接收消息时查看)

我的用例是基于给定消息的当前可见性超时更改可见性超时。这可能吗


(注意:我知道我可以使用近似的接收时间来达到类似的效果,如果无法获得当前的可视时间,我将选择该路线)

看起来这是不可能的


尽管近似的ReceiveCount可能至少足以满足我的用例。

怀疑您必须获得SQS队列的可见性超时(使用GetQueueAttributes)并从调用ReceiveMessage的时间推断。谢谢@jarmod,但不幸的是,我计划在每条消息的基础上更改可见性超时,这样这种方法可能不会起作用。为什么?您知道队列的可见性超时,您收到一些消息,您根据这两条信息固有地知道每条消息的超时,然后更改每条消息(或每批)的可见性超时我希望以类似的方式实现指数退避,但理想情况下,这些因素是可配置的。存在的问题是,如果您更改了一个值,您就不再知道下次应该将timeout设置为哪个值。如果我理解,您能否将自己的MessageId到timeout的映射在映射(或DynamoDB)中保留一段短时间?