Amazon web services SQS中消息的最大ReceiveMessage请求数

Amazon web services SQS中消息的最大ReceiveMessage请求数,amazon-web-services,message-queue,amazon-sqs,Amazon Web Services,Message Queue,Amazon Sqs,在SQS中,对于单个消息,在队列的最大保留期内可以放置的最大请求数是多少 我找了很多,但找不到最大上限的号码 它是无限的吗?的文档中没有提到限制,只是当队列的最大消息保留时间(默认为4天,最大为14天)到期时,消息将被删除 在此之前,它基本上是无限的,除非您将队列配置为在可配置的最大接收数之后将消息移动到单独的“死信队列”。。。在这种情况下,允许的最大接收次数(包括在控制台中查看队列消息时特定消息弹出的次数)为1000。(当然,最小值是1) 见: 对于可以接收的消息的最大次数,似乎没有记录在案的

在SQS中,对于单个消息,在队列的最大保留期内可以放置的最大请求数是多少

我找了很多,但找不到最大上限的号码


它是无限的吗?

的文档中没有提到限制,只是当队列的最大消息保留时间(默认为4天,最大为14天)到期时,消息将被删除

在此之前,它基本上是无限的,除非您将队列配置为在可配置的最大接收数之后将消息移动到单独的“死信队列”。。。在这种情况下,允许的最大接收次数(包括在控制台中查看队列消息时特定消息弹出的次数)为1000。(当然,最小值是1)

见:

对于可以接收的消息的最大次数,似乎没有记录在案的限制,否则,有另一个限制会限制队列,在该队列中,消息被反复接收并且其可见性超时被反复允许过期(导致它们再次恢复为可见)--每个队列支持队列中无限数量的消息,但每个队列(等待其可见性超时过期)

否则,给定消息的最大接收次数似乎仅受最大消息保留时间乘以可见性超时的限制。默认值为4天30秒,即4×24×60×(60÷30)=11520

在一个行为良好的应用程序中,您通常不希望消息被接收数百次或数千次,但在一个有缺陷的应用程序中,您不希望消息在发现问题之前丢失,因此,在可以证明消息不存在硬限制之前,我所做的假设是没有硬限制

您的代码还可以检查
ApproximateReceiveCount
的值,以了解如果您希望以某种方式处理值超过某个阈值的消息,消息已被传递了多少次。此计数器确实包括在控制台的“查看消息”中枚举消息的次数,因为控制台接收消息,然后重置其可见性超时,就像应用程序一样


如果要使用此值,请注意SQS消息同时具有“属性”(系统)和“消息属性”(用户定义)。

您是否要求队列中可以放置的最大消息数,或者可以调用
ReceiveMessage
的最大次数?@JohnRotenstein:是的,我需要调用ReceiveMessage的最大次数。我完全知道死信队列和消息保留期,但我真的很想知道限制,如果它不是无限的话,我提到了死信队列的功能作为对比,因为它确实有一个文档化的限制,以及为了未来读者的利益。正如我所指出的,没有明显的文档限制。也许@JohnRotenstein有一个内部线索,可以找到一个正式的答案。