我继承的一段代码在AWS Lambda函数中运行,以更新DynamoDB表,并在此过程中获取大量ConditionalCheckFailedExceptions。该代码的作用是,它具有要更新的记录列表,并且一个接一个地更新DynamoDB表,并且一旦获得ConditionalCheckFailedException,它就会将该记录收集到一个列表中。一遍遍整个列表后,它遍历失败的列表,并重新读取所有这些记录的新状态,并再次更新DynamoDB表。有10个AWS Lambda并发克隆执行相同的操作。最终导致重试和Lambdas超时。我在想,与其以批处理方式收集由于ConditionalCheckFailedException而导致失败的记录,然后再次重新处理该批处理,不如我只是更改代码以在ConditionalCheckFailedException发生后重试该记录。我在沿着正确的方向思考吗?另一个选择是分批收集失败的记录,但是应用指数退避和抖动,以使同一Lambda的多次运行不会尝试同时更新相同的记录。我还有一个问题是,如何在BatchWrite操作中实现ConditionalCheckFailedException,因为BatchWrite对于写入大量数据会更有效。