代码之家  ›  专栏  ›  技术社区  ›  AmazingDayToday

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

  •  0
  • AmazingDayToday  · 技术社区  · 8 年前

    桌子 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);
            }
        });
    }
    

    {项:[],计数:0,扫描计数:791,LastEvaluatedKey:{ 日期:{N:'1499875896175'}}}

    1 回复  |  直到 8 年前
        1
  •  1
  •   kosa    8 年前

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

    example of pagination in Java