Amazon web services AWS、SQS、计算10条消息的visabilityTimeout

Amazon web services AWS、SQS、计算10条消息的visabilityTimeout,amazon-web-services,amazon-sqs,billing,Amazon Web Services,Amazon Sqs,Billing,我有密码: val messageRequest = new ReceiveMessageRequest().withQueueUrl(queueUrl).withVisibilityTimeout(8000).withMaxNumberOfMessages(10) val messages = sqs.receiveMessage(messageRequest).getMessages.asScala 我的lambda最多工作13分钟33秒(800秒) 我一次从SQS接收10条消息 我想正确

我有密码:

val messageRequest = new ReceiveMessageRequest().withQueueUrl(queueUrl).withVisibilityTimeout(8000).withMaxNumberOfMessages(10)
val messages = sqs.receiveMessage(messageRequest).getMessages.asScala
我的lambda最多工作13分钟33秒(800秒)

我一次从SQS接收10条消息

我想正确计算VisibilityTimeout

我使用公式:

“lambda超时”(800秒)*MaxNumberOfMessages(10)=8000秒

每条信息800秒

1。我是否正确计算了可视性超时?


2。VisibilityTimeout更改是否会影响计费?

Visibility timeout是SQS将消息发送给一个消费者后,等待该消费者处理并删除消息,使其对任何消费者不可见的时间。如果消息一经传递,在允许的窗口内未被接收它的使用者从队列中删除,则该消息将再次可见,并将在可见性超时过期时再次传递

在您描述的场景中,正确的值仍然是800,因为可见性超时分别应用于每条消息,但同时启动并同时运行。您的代码将在800秒后终止,并且消息需要在经过该时间段后再次可见。如果设置为8000秒,如果您的代码在800秒后终止,则在超时过期之前,这些消息将在另外7200秒内保持不可见

可见性超时对计费没有直接影响。

谢谢!