当前位置: 首页 > 知识库问答 >
问题:

AWS SQS消息的“SentTimestamp”属性在可见性超时后是否更改?

葛骏
2023-03-14

在使用AWS SQS时,消息的“SentTimestamp”属性是否在从队列接收后发生变化,但在可见性超时到期后没有删除并返回队列?

共有1个答案

岳毅
2023-03-14

不,这种行为是不可取的,因为SentTimestamp专门描述消息首次发送到队列的时间。

本文档描述了可见性超时,提供了一些见解:

组件收到消息后,消息仍在队列中。然而,您不希望系统中的其他组件再次接收和处理该消息。因此,Amazon SQS用可见性超时阻止它们,这是一段时间,在此期间Amazon SQS阻止其他消耗组件接收和处理该消息。

这里重要的一点是,消息永远不会真正离开队列,它只是对接收消息的其他客户端隐藏。因此,MessageID和SentTimeout等消息内容不会改变。另一方面,每次收到消息时,与接收消息相关的事情,如ReceiptHandle和Receive Count都会发生变化。

您可以通过以下方式从AWS web控制台进行自我验证:

  • 在队列中创建消息
  • 查看消息
  • 正在等待可见性超时过期。完成后,在新选项卡中再次打开SQS控制
  • 在“新建”选项卡中再次查看邮件。比较两条收到的消息的内容
 类似资料:
  • 我是AWS的新手。我在这里试图理解SQS。我也看了一些培训,但我仍然不能得到一些答案那里的讨论论坛。我在这里重复我的问题。注意,我知道下面的几个问题有明显的答案,因此更多的是一种修辞。我的困惑源于这样一个事实,即我目前对这个主题的理解导致我对在明显已知的问题之后出现在我脑海中的后续问题给出了相互矛盾的答案,并且夺走了我认为我理解得很好的任何东西的信心。 如果我有一个名为MyQueue的标准队列,并

  • 我对SQS非常陌生,如果我忽略了一些显而易见的事情,我很抱歉,但是有没有办法获取SQS中消息的当前可见性超时?我可以在这里看到如何更新超时可见性。但是我没有看到任何关于获取消息当前可见性超时的信息(也许你可以在收到消息时查看)。 我的用例是根据给定消息的当前可见性超时更改可见性超时。这可能吗? (注意:我知道我可以使用近似的接收时间来达到类似的效果,如果不可能获得当前可见性时间,我会走那条路)

  • 问题内容: 是否可以“监视”指令上的ui更改?像这样的东西: 问题答案: 是。您可以使用,如果你在属性利用插值。 但是,如果这不是一个插值属性,并且您希望它可以从应用程序中的其他位置更改(绝对不建议这样做,请阅读Common Pitfalls ),那么函数可以返回: 无论如何,对您来说最好的方法可能是更改更改元素类的代码。它何时更改?

  • 在AWS SQS FIFO的队列中;当读取消息的可见性超时时,队列的哪个位置将是消息? 例如: [A,B]按顺序排列 我从队列中读到一条消息,因此得到消息“a” 消息“A”的可见性超时过期,消费者可以再次使用该消息 消息的新顺序是什么? a)[A, B, C, D] b)[B, C, D, A]

  • 问题内容: 我在div中有一个HTML 5视频。然后,我有一个自定义播放按钮-效果很好。 我已将视频的可见性设置为在加载时隐藏,并且在单击播放按钮时可见,那么如何在再次单击播放按钮时将其恢复为隐藏状态? 我基本上只是想在可见和隐藏的两种状态之间切换,除非我不能使用切换,因为那是show的隐藏div。我需要在那里,只是隐藏起来,所以它保持正确的高度。 问题答案: 使用jQuery:

  • 编辑:在我写的时候解决了这个问题:P--我喜欢这样的解决方案。我想无论如何我都要把它贴出来,也许别人也会有同样的问题,找到我的解决办法。不关心点数/因果报应等等。我只是把整个事情写了出来,所以我想我应该把它和解决方案贴出来。 我有一个SQS FIFO队列。它使用的是一纸空文队列。以下是它的配置方式: 我有一个单一的生产者微服务,我有10个ECS映像运行作为消费者。 由于业务原因,我们在接近消息在队