我编写了简单的Lambda函数来扫描来自dynamodb的数据,但是数据被检索到错误消息标记,lambda函数显示消息执行失败
var AWS = require('aws-sdk');
var DOC = require("dynamodb-doc");
var dynamo = new DOC.DynamoDB();
exports.handler = function (event, context, callback) {
var params = {
TableName: "Movies",
// ProjectionExpression: "#yr, Movie",
FilterExpression: "#yr = :thisyear",
ExpressionAttributeNames: {
"#yr": "year",
},
ExpressionAttributeValues: {
":thisyear" : 2009
}
};
dynamo.scan(params, function(err, data){
if (err){
callback("error occoured");
}
else{
callback(JSON.stringify(data.Items));
}
});
};
结果
{
"errorMessage": "[{\"year\":2009,\"Movie\":\"Jab tak hai jaan\"}]"
}
答案 0 :(得分:1)
nodejs回调通常是错误优先回调。这意味着第一个参数是错误消息,第二个参数是结果。因此,在返回结果时,您需要将null
作为第一个参数传递。
例如:callback(null, JSON.stringify(data.Items));
请参阅this文章