我尝试使用lambda AWS获取满足DynamoDB条件的前10个项目。我试图使用Limit参数,但它是(基于该网站)
“要评估的最大项目数(不一定是匹配项目的数量)”。
如何获得满足我条件的10个第一项?
{{1}}
答案 0 :(得分:0)
我认为您已经知道背后的原因:DynamoDB在ScannedCount
和Count
之间的区别。根据{{3}},
ScannedCount - 查询或扫描的项目数, 在将任何过滤器表达式应用于结果之前。
计数 - 响应中返回的项目数。
对此的修复记录在上面:
对于查询或扫描操作,如果操作未返回表中的所有匹配项,DynamoDB可能会返回LastEvaluatedKey值。要获取匹配项的完整计数,请从上一个请求中获取LastEvaluatedKey值,并将其用作下一个请求中的ExclusiveStartKey值。重复此操作,直到DynamoDB不再返回LastEvaluatedKey值。
因此,您的问题的答案是:再次使用DynamoDB响应中的LastEvaluatedKey
和Scan
。