自动从 DynamoDb Table 中删除数据

Deleting Data from DynamoDb Table automatically

DynamoDB中有生命保留期的概念吗

我的意思是有什么方法可以在一段时间后删除 table 中的数据,就像我们可以在 S3 中设置一些保留期一样。

谢谢,

不,DynamoDB 中没有可用的 "retention" 设置。

您可以 运行 daily/monthly 使用日期字段过滤结果的查询,并使用该输出来确定要删除的项目。这需要在您自己的编程代码中实现。

一些用户选择使用单独的 table 来提供老化。例如,为每个月创建一个单独的 table。然后,一旦旧的 table 超过一定年龄,就将其删除。但是,您的软件必须知道如何处理多个 table 数据。

示例:

DynamoDB 引入了生存时间 (TTL) 功能。当您想要删除记录时,您可以创建一个数字字段并将值设置为 "time in seconds"(从纪元开始)。

DynamoDB 会在指定时间自动删除记录。当然,TTL 必须在每个 table 的基础上进行配置。

您可以在以下位置找到更多详细信息:http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/time-to-live-ttl-how-to.html