繁体   English   中英

我怎样才能只保留 DynamoDB 中的最后 n 个项目?

[英]How can I keep only the last n items within DynamoDB?

我有一个正在将数据主动放入 DynamoDB 的流式应用程序。

我想存储最后 100 个添加的项目并删除旧的; 在这种情况下,TTL 功能似乎不起作用。

有什么建议么?

Amazon DynamoDB 中没有强制只保留最后n项目的功能。

通过存储和保持运行计数器,将 100 个项目限制为应用程序中的最大值。

我会通过 lambda function 在相关 DynamoDB 上使用触发器来执行此操作。

每次对表进行更改时,lambda 都会删除较旧的条目。 您需要为表格项目设置某种高水位标记,并需要某种方式来跟踪它。 我会把它放在辅助 DynamoDB 表中。 放入 DynamoDB 项目表的每个新项目都会让 HWM 将其作为字段添加到项目并更新它。 基本上实现一个自动增量字段,因为它们在 DynamoDB 中不存在。 然后 lambda function 可以删除任何具有 HWM - 100 或更小的自动增量 ID 的项目。

可能有更好的方法,但这将实现目标。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM