AWS Lambda和AWS Dynamodb:扫描计数小于项目计数

时间:2017-07-20 18:27:24

标签: amazon-web-services amazon-dynamodb aws-lambda

events包含3700多个项目。当我扫描它时,它只返回791项目计数。那是为什么?

以下是Lambda中的代码:

var doc = require('aws-sdk');
var db = new doc.DynamoDB();
exports.handler = (event, context, callback) => {
    var params = {
        TableName: "events",
        ProjectionExpression: "event, #date",
        FilterExpression: "event = :value",
        ExpressionAttributeNames: { "#date": "date" },
        ExpressionAttributeValues: { ":value": { S: "hurricane" } }
    };
    db.scan(params, function(err, data) {
        if (err) {
            console.log(err, err.stack);
        }
        else {
            console.log(data);
        }
    });
}
  

{Items:[],Count:0,ScannedCount:791,LastEvaluatedKey:{   日期:{N:'1499875896175'}}}

1 个答案:

答案 0 :(得分:1)

如果扫描结果集的大小大于1 MB,则ScannedCount和Count将仅表示总项目的部分计数。您需要执行多个扫描操作才能检索所有结果(see Paginating the Results)。

是Node.js中的Lambda吗?这是example of pagination in Java