每个项目的 DynamoDB 生存时间

Sri*_*ini 4 amazon-dynamodb aws-sdk amazon-dynamodb-data-modeling

我需要使用不同的实时配置使项目过期。在某些情况下,表中的项目也不会过期。在 Cassandra 中,我们可以在记录级别写入时设置生存时间。在 DynamoDB 中,我只能在表级别看到 TimeToLive 配置(我也可能错了。)但不能在项目级别看到。

  1. 有没有办法在执行 putItem 或
  2. 在对整个系统影响最小的情况下删除记录的最佳做法是什么?

如果不可能在项目级别设置 TTL,我想回到第二个选项。

Kir*_*irk 9

DynamoDB 绝对可以在表中的项目级别执行此操作。在表级配置中,您可以告诉 DynamoDB 将包含 TTL 值的属性名称。此属性名称可以是您想要的任何名称。然后,在您写入表的每个项目上,包含一个名为您告诉 DynamoDB 查找的属性的属性,该值以纪元时间格式为单位(以秒为单位)。一旦您这样做,当该项目的时间到时,DynamoDB 将在 24-48 小时内延迟删除该项目。最重要的是,删除对您来说是免费的。

有关如何启用 TTL 的更多信息,请访问此处。有关 TTL 工作原理的更多信息,请访问此处