最近需要在SQS消息上设置一些非常长的超时,并且看到记录的限制是12小时(43200)。所以我尝试将超时设置为1秒,然后得到这个错误听起来很疯狂(在大多数数字系统中43199实际上小于43200)。
SQSError: SQSError: 400 Bad Request
SenderInvalidParameterValueValue 43199 for parameter VisibilityTimeout is invalid. Reason: Total VisibilityTimeout for the message is beyond the limit [43200 seconds]
有人有什么想法吗?
编辑:看起来这是' Total'的概念。超时与我使用change_visibility API调用设置的超时不同。总计从首次收到消息时开始计时
答案 0 :(得分:9)
看起来您正在使用ChangeMessageVisibility
API设置消息可见性,该消息已在当时收到并且不可见。
总计中的消息的可见性超时为12小时。这意味着当您收到消息时,此消息的可见性超时已在运行。当您致电ChangeMessageVisibility
时,您可以仅使用不超过12小时且已经过了可见性超时的值来提高可见性超时。
答案 1 :(得分:1)