我最近开始探索DynamoDB
和S3
。
我浏览了开发人员指南,我很好奇有没有办法根据某些条件从DynamoDB表或S3存储桶中删除数据?
此处的条件可能是时间/空间。
就像我想在一段时间后(例如200天)删除DynamoDB/S3
中的数据,或者它是否超过2 GB这样的限制。
答案 0 :(得分:1)
对于S3,可以使用lifecyles在给定时间后删除。对于DynamoDB,没有这样的规则。
对于两者而言,根据占用的空间没有直接的清洁方法。
实际上,可以使用AWS Lambda以及S3和DynamoDB事件“非常轻松”地完成它,但它需要实现它:每次添加(或每n次)新条目通过S3- / DynDB-事件,计算大小并清理应清理的内容。
答案 1 :(得分:0)
您正在寻找的是DynamoDB TimeToLive功能。它仍处于测试阶段。
您的DDB表必须具有存储时间戳(以秒为单位)的TTL属性。
“TTL将纪元时间格式的当前时间与存储的时间进行比较 在项目的指定TTL属性中。如果是纪元时间值 存储在属性中的项目小于当前时间 标记为已过期并随后删除。“
更多详情可在DDB docs
中找到