我目前正在使用 transactWrite 将数据插入到 dynamoDB 数据库。仅允许一批小块(比方说 100 个)进行事务,但我想以“全有或全无”的方式在数据库中添加 500 个项目。我在循环中使用 transactWrite,每批 100 个。我能够在出现错误时停止事务,但无法回滚已提交的事务? 有人可以解释如何处理这种情况吗?
最近交易量才从 25 个增加到 100 个。依赖 500 个项目几乎是 DynamoDB 中的一种反模式,因为它的目标是大规模提供可预测的性能。
做你想做的事情非常复杂。最好的方法可能是将这些项目合并为更大的项目(如果它们确实相互依赖)。
仅供参考:TransactWrite 和 BatchWrite 都不是原子操作,您必须手动处理。
还有办法