2017-06-09 24 views
0

自己编写简单lambda函数来扫描从dynamodb数据,但数据是越来越与错误消息标记和λ功能检索到的显示信息作为执行失败AWS lambda函数检索dynamodb数据作为错误消息

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

nodejs回调通常是错误优先的回调。这意味着第一个参数是错误消息,第二个参数是结果。所以当返回结果时,你需要通过null作为第一个参数。 如:callback(null, JSON.stringify(data.Items));

请参阅this文章

+0

感谢您的帮助,它现在正 – Shan