Amazon dynamodb DynamoDB扫描计数与项目的实际计数不同
这是我浏览每页时显示的内容: 如您所见,数据库中的列表超过18000项 现在,当我这样做时:Amazon dynamodb DynamoDB扫描计数与项目的实际计数不同,amazon-dynamodb,Amazon Dynamodb,这是我浏览每页时显示的内容: 如您所见,数据库中的列表超过18000项 现在,当我这样做时: var params = { TableName : "theTable" }; db.scan(params, function(err, data) { if (err) { console.error(err); } else { console.log(data); } }); 它返回给我: 计数:16633,扫描计数:16633 为什么会这样?为什
var params = {
TableName : "theTable"
};
db.scan(params, function(err, data) {
if (err) {
console.error(err);
} else {
console.log(data);
}
});
它返回给我:
计数:16633,扫描计数:16633
为什么会这样?为什么在我运行代码时不返回所有30000项?当您的数据集大小超过1.0Mb时会发生这种情况。 DynamoDB返回所有最大大小为1.0Mb的项目,而不考虑您的
查询
或扫描
。
来自AWS DynamoDB文档:
查询的结果集限制为每次调用1 MB。您可以使用查询响应中的LastEvaluatedKey来检索更多结果
每次调用的扫描结果集限制为1 MB。您可以使用扫描响应中的LastEvaluatedKey来检索更多结果
注意:在对检索到的数据集应用FilterExpressions
之前,可以应用这些限制
要了解有关dynamoDB限制的更多信息,请按照文档进行操作
解决方案:如果查询或扫描结果超出限制,则数据集中还会返回一个
LastEvaluatedKey
属性,您可以使用它重新运行操作以检索下一组项目。您可能超出了最大数据大小限制。DynamoDB只是停止并返回它在内存不足时能够扫描的内容。见: