如果重试次数超过限制,Lambda 不会丢弃 DynamoDB 流表中的记录

问题描述 投票:0回答:2

我有一个附加到 DynamoDB 流的 Lambda。我将重试次数配置为最多 5 次。我将 SQS 作为失败目的地。在某些情况下,lambda 超时并且重试多达 5 次。但是 lambda 不会丢弃来自 dynamoDB 的记录。它仍然保持在表

aws-lambda amazon-dynamodb amazon-sqs amazon-dynamodb-streams
2个回答
0
投票

Lambda 不会丢弃它们,为什么会......

Lambda 只是您的流的消费者,如果 Lambda 无法处理数据,则您的表或流中没有任何变化。数据仍然保留在表中,直到您将其删除,并在流中保留 24 小时。


0
投票

Lambda 只会在消息处理成功后从 SQS 中删除记录,而不会从 DynamoDB 中删除。

如果您的目标是在消息处理后从 DynamoDB 中删除记录,您可能根本不需要 DynamoDB,可以完全依靠 SQS 来处理消息。

或者,您可以在 DynamoDB 表上应用 TTL(生存时间),它将根据过期时间自动从表中删除记录,而不管消息处理状态如何。

© www.soinside.com 2019 - 2024. All rights reserved.