使用 DynamoDB 生存时间(TTL)让项目过期 - Amazon DynamoDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 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删除时,它将会被复制到所有副本区域。这些复制的写入操作不包含 typeprincipalID 属性。这可能会难以将 TTL 删除与复制表中的用户删除区分开来。

  • DynamoDB local 当前不支持 TTL。

有关 TTL 的更多信息,请参阅以下主题: