使用 DynamoDB 生存时间(TTL)让项目过期
通过 Amazon DynamoDB 生存时间 (TTL),您可以定义每个项目的时间戳,以确定何时不再需要某个项目。在指定时间戳的日期和时间过后不久,DynamoDB 会从您的表中删除该项目,并且仅在将删除项复制到其他区域时消耗吞吐量。提供 TTL 无需任何额外成本,它通过仅保留符合工作负载需求的项目来减少存储的数据量。
如果存储的项目在特定时间后不再相关,TTL 将非常有用。以下是 TTL 使用案例:
-
在应用程序处于不活动状态一年后删除用户或传感器数据。
-
通过 Amazon DynamoDB Streams 和 Amazon Lambda 将过期项目存档到 Amazon S3 数据湖中。
-
根据合同或法规义务,将敏感数据保留一定的时间。
注意
-
如果使用全局表的 版本 2019.11.21(当前),并且还使用生存时间功能,则 DynamoDB 会将 TTL 删除复制到所有副本表。初始 TTL 删除不会在发生 TTL 到期的区域中消耗写入容量。但是,在每个副本区域中,当使用预配置的容量时,复制到副本表的 TTL 删除将消耗一个复制的写容量单位,或在使用按需容量模式时消耗一个复制的写容量单位,并且将收取适用的费用。
-
在 版本 2019.11.21(当前) 中,发生 TTL删除时,它将会被复制到所有副本区域。这些复制的写入操作不包含
type
或principalID
属性。这可能会难以将 TTL 删除与复制表中的用户删除区分开来。 -
DynamoDB local 当前不支持 TTL。
有关 TTL 的更多信息,请参阅以下主题: