Dynamobd错误:即使我输入了实际条目ID,扫描结果也不会过滤为HASH

问题描述 投票:1回答:2

我已经连接到我用此代码的Lambda创建了dynamo的本地计算机

console.log('Starting Function Now');
const AWS = require("aws-sdk");
const docClient = new AWS.DynamoDB.DocumentClient({region: 'us-east-1'})

exports.handler = function(event,ctx,callback){

    let scanParameters = {
        "TableName": "Accommodation_Request",
        "FilterExpression": "SSD_ID = :val",
        "ExpressionAttributeValues": {":val": {"N": "2"}},
        "ProjectionExpression": 'SSD_ID,AI_Org_ID'
    };

console.log(scanParameters)

    console.log("Your Student information");
    docClient.scan(scanParameters, function(err,data){
        if(err){
            callback(err, null)
        } else{
            callback(null,data)
        }
    });
};

运行Lambda之后,我得到了这个结果

{
    "Items": [],
    "Count": 0,
    "ScannedCount": 5
}

问题:我无法以SSD_ID = 1返回正确的扫描结果

javascript amazon-web-services aws-lambda amazon-dynamodb scanning
2个回答
0
投票

可能是在过滤器中使用String而不是Number或具有复合分区键的情况下>


0
投票

我想还有更多数据要看。 “ LastEvaluatedKey”中是否有一个值?当您使用过滤器执行扫描操作时,您可能不会在特定请求上获得任何结果。 LastEvaluatedKey值应传递到下一个请求的ExclusiveStartKey中。在获取任何数据之前,您可能会有许多空响应。扫描时应格外小心,通常不属于生产工作负载的一部分(当然确实存在例外情况)。

© www.soinside.com 2019 - 2024. All rights reserved.