Amazon dynamodb DynamoDB-逐个扫描(像JDBC游标)

Amazon dynamodb DynamoDB-逐个扫描(像JDBC游标),amazon-dynamodb,Amazon Dynamodb,我想在我的DynamoDB桌子上坐任何一排,但是桌子可能很大。我不想让DB服务器将所有行返回给我,然后我只获取集合中的第一项 对于JDBC,我会使用一个游标,它只是指向数据库中行的“指针”。在DynamoDB中,我一直在研究scan()操作(),但是有太多类似的方法,它们在不同的版本中有所不同,参数没有达到我所期望的效果,我真的很困惑。如果有一个简单的编程语句,我真的不想提交JSON查询 我应该寻找什么样的方法来从客户机到服务器一个一个地获取项目,而不是由服务器将它们批处理并返回多个项目 我的尝

我想在我的DynamoDB桌子上坐任何一排,但是桌子可能很大。我不想让DB服务器将所有行返回给我,然后我只获取集合中的第一项

对于JDBC,我会使用一个游标,它只是指向数据库中行的“指针”。在DynamoDB中,我一直在研究
scan()
操作(),但是有太多类似的方法,它们在不同的版本中有所不同,参数没有达到我所期望的效果,我真的很困惑。如果有一个简单的编程语句,我真的不想提交JSON查询

我应该寻找什么样的方法来从客户机到服务器一个一个地获取项目,而不是由服务器将它们批处理并返回多个项目

我的尝试:

新发电机(
AmazonDynamoDBClientBuilder.standard()
.withRegion(Regions.US\u EAST\u 1.name())
.build())
.getTable(“我的大桌子”)
//MaxResultSize只是盲目地返回行,而不是匹配的行。因为我们没有筛选条件,所以这是可以的。
.scan(新的ScanSpec().withMaxResultSize(1)。withConsistentRead(true))
.firstPage()
.getLowLevel结果()
.getScanResult()
.getItems();

版本信息 目前我正在使用这些解决方案,但如果在以后的版本中有所更改,我想知道将未来迁移痛苦降至最低的解决方案:


亚马逊网站
aws java sdk核心
1.11.127
亚马逊网站
aws java sdk
1.11.127
亚马逊网站
aws java sdk dynamodb
1.11.127

只需使用Scan参数即可

默认情况下,扫描将评估表中的每个项目。使用限制运算符将设置“要评估的最大项目数(不一定是匹配项目数)”

因此,如果您扫描一个没有筛选器的表,并将限制设置为1,则始终会返回一个项目(假设至少有一个项目)