首页 > 解决方案 > 如何使用 boto3 从 dynamodb 获取最后插入的项目?

问题描述

我的 dynamodb 中有以下项目

entry    timestamp                        status    key
ent1     Fri Dec 04 11:26:17 EST 2020     Success   101
ent2     Fri Dec 04 11:26:18 EST 2020     Failure   102
ent3     Fri Dec 04 11:26:19 EST 2020     Success   101

在这里我只需要获取最后插入的状态 = Success,即基于最新的时间戳-ent3

#预期的

ent3     Fri Dec 04 11:26:19 EST 2020     Success   101

使用以下代码时我没有看到结果返回

response=table.query(KeyConditionExpression= Key('key').eq('101'),
FilterExpression=Attr('status').eq('Success'))

那么如何从数据库中过滤/获取最后插入的项目?

谢谢

标签: python-3.xamazon-web-servicesamazon-dynamodbboto3

解决方案


您可以添加一个全局二级索引(GSI)status作为分区键和timestamp排序键,然后查询该 GSILimit=1以获取具有最新时间戳的项目。ScanIndexForward=false如果您想要最早的时间戳,请添加到您的查询中。


推荐阅读