根据docs:
DynamoDB通常会在到期后48小时内删除过期的项目。到期后项目真正被删除的确切持续时间特定于工作负载的性质和表的大小
我们有什么方法可以估算在某个表中删除过期项目需要多长时间?我希望基于具有TTL的DynamoDB表和处理DynamoDB Streams的Lambda函数来实现一种调度程序,但是我需要删除才能在项目过期后的一小时内生效。如果表不大(小于1.000项),这是否可能?
答案 0 :(得分:3)
删除的确切时间不是你应该严格依赖的东西。由于DynamoDB TTL使用后台I / O容量来处理删除(这可以节省客户资金并保留其配置的IOPS以供其应用程序使用),这将取决于系统中发生的其他情况,这可能会有所不同。
答案 1 :(得分:0)
尽管指定了TTL值,AWS也不保证删除的时间。从与AWS工程师的交流中我了解到,跨区域的复制可能是48小时时间表的一个因素。 1小时的时间窗口对于DynamoDB来说太窄了。查看Cloudview日志可能会提供一个关于它如何适用于您的应用程序的想法,并且需要对TTL参数值进行一些调整。