本文介绍了如何使用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获取最后插入的项?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-21 09:16