AWS lambda函数将dynamodb数据检索为错误消息

时间:2017-06-09 07:27:00

标签: node.js amazon-web-services amazon-dynamodb aws-lambda

我编写了简单的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\"}]"
}

1 个答案:

答案 0 :(得分:1)

nodejs回调通常是错误优先回调。这意味着第一个参数是错误消息,第二个参数是结果。因此,在返回结果时,您需要将null作为第一个参数传递。 例如:callback(null, JSON.stringify(data.Items));

请参阅this文章