Javascript TypeError:无法读取属性';id';未定义的AWS Lambda的定义
我在与AWS Lambda合作时遇到问题 TypeError:无法在exports.handler(/var/task/index.js:19:28)读取未定义的属性“id” 这是我的密码:Javascript TypeError:无法读取属性';id';未定义的AWS Lambda的定义,javascript,amazon-web-services,lambda,aws-lambda,Javascript,Amazon Web Services,Lambda,Aws Lambda,我在与AWS Lambda合作时遇到问题 TypeError:无法在exports.handler(/var/task/index.js:19:28)读取未定义的属性“id” 这是我的密码: var AWS = require("aws-sdk"); var dynamoDBConfiguration = { "region" : "us-west-2", "endpoint" : "dynamodb.us-west-2.amazonaws.com" }; AWS.config.update
var AWS = require("aws-sdk");
var dynamoDBConfiguration = {
"region" : "us-west-2",
"endpoint" : "dynamodb.us-west-2.amazonaws.com"
};
AWS.config.update(dynamoDBConfiguration);
var docClient = new AWS.DynamoDB.DocumentClient();
exports.handler = function(event, context, callback) {
var params = {
TableName: "User",
ProjectionExpression: "id, password",
FilterExpression: "id = :id and password = :password",
ExpressionAttributeValues: {
":id" : event.body.id,
":password" : event.body.password
}
};
docClient.scan(params, onScan);
function onScan(err, data) {
if (err) {
console.error("Unable to scan the table. Error JSON:", JSON.stringify(err, null, 2));
}
else
{
console.log("Scan succeeded.");
context.succeed(data.Items);
// continue scanning if we have more movies
if (typeof data.LastEvaluatedKey != "undefined") {
console.log("Scanning for more...");
params.ExclusiveStartKey = data.LastEvaluatedKey;
docClient.scan(params, onScan);
}
}
}
}
然而,今天下午,当我运行它时,它运行得非常完美
你们能帮我修复这个错误吗
提前谢谢
FilterExpression:"#id = :id and #password = :password",
ExpressionAttributeNames: {
"#id":"Your particular id",
"#password":"your password"
},
您也可以在代码的参数中使用ExpressionAttributesNames。我认为可能是您仅使用ExpressionAttributesValues。这意味着event.body.id未定义。使用event.id而不是event.body.id
难道不是这样吗
ExpressionAttributeValues: {
":id" : event.id,
":password" : event.password
}
试着安慰一下你的事件。bodythank you@Newbee Dev但它运行得很好。我不知道为什么。