2017-07-20 10 views
0

eventsには3700以上の項目が含まれています。それをスキャンすると、791アイテムのカウントだけが返されます。何故ですか?ここAWS LambdaとAWS Dynamodb:スキャン数が項目数未満です

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、ScannedCount:791、LastEvaluatedKey:{ 日:{N '1499875896175'}}}

答えて

1

スキャン結果セットのサイズが1 MBより大きい場合、ScannedCountとCountは合計アイテムの部分カウントのみを表します。すべての結果を取得するには、複数のスキャン操作を実行する必要があります(see Paginating the Results)。

Node.jsにLambdaはありますか?ここにはexample of pagination in Java

関連する問題