使用lambda函数将数据库抓取为JSON

我正在使用dynamo-db扫描来获取这个JSON格式的数据库表,但它似乎不工作

var doc = require('dynamodb-doc'); var dynamo = new doc.DynamoDB(); exports.handler = function(event, context) { dynamo.scan({ 'TableName' : 'DATABASE_NAME' }, function(err, data) { console.log('this doesnt print'); if (err) console.log(err, err.stack) else console.log(data); }); context.succeed('ding'); 

我不相信它正在进入callback函数,因为“这不打印”不打印。 有任何想法吗? 谢谢 :)

在DynamoDB调用完成之前调用context.succeed() 。 您需要查看NodeJS中asynchronous调用的工作方式。 尝试这样的事情:

 var doc = require('dynamodb-doc'); var dynamo = new doc.DynamoDB(); exports.handler = function(event, context) { dynamo.scan({ 'TableName' : 'DATABASE_NAME' }, function(err, data) { console.log('this doesnt print'); if (err) { console.log(err, err.stack) context.fail(err); } else { console.log(data); context.succeed('ding'); } });