我正在尝试使用Node.js创建AWS Lambda函数,并尝试从dynamodb扫描记录。但是它给了我随机的记录,我想获取最近添加到表中的前5条记录。我想根据时间戳排序,以便可以获取最新的5条记录。任何人都有一个主意,请帮帮我。
答案 0 :(得分:1)
要获得所需的行为,您可以执行以下操作(有一项警告,请参见下文):
确保您表上的每个记录都有一个属性(我们将其称为x
),该属性始终具有相同的值(与哪个值无关,假设该值始终为“ y”)
在表上定义全局二级索引。该索引的键应使用x
作为分区键(又称“哈希键”),并将timestamp字段用作排序键。
然后您可以对该索引执行query
操作。正是您所需要的“查询结果始终按排序键值进行排序”(请参见here)。
警告:这意味着索引将表的所有记录保存在同一分区键下。这违反了dynamodb的最佳做法(请参阅Choosing the Right DynamoDB Partition Key)。不能用于大型表(超过几十GB)。