本文介绍了如何使用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
这里我只需要获取最后插入的status=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'))
那么,过滤如何才能/从数据库中提取最后插入的项目?
谢谢
推荐答案
您可以添加一个Global Secondary Index(Gsi),status
作为分区键,timestamp
作为排序键,然后使用Limit=1
查询该gsi,得到最新的时间戳。如果您想要最早的时间戳,请将ScanIndexForward=false
添加到您的查询中。
这篇关于如何使用boto3从DynamoDB获取最后插入的项?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!