我正在使用AWS Lambda若要扫描数据,请执行以下操作:DynamoDB表格。这是我得到的回报:
{
"videos": [
{
"file": {
"S": "file1.mp4"
},
"id": {
"S": "1"
},
"canvas": {
"S": "This is Canvas1"
}
},
{
"file": {
"S": "main.mp4"
},
"id": {
"S": "0"
},
"canvas": {
"S": "this is a canvas"
}
}
]
}我的前端应用程序正在使用Ember数据Rest适配器它不接受这样的响应。有没有办法让我得到普通的JSON格式?有一个名为NPM的模块dynamodb-marshaler将DynamoDB数据转换为普通的JSON。我在找一个本机解决方案如果可能的话。
发布于 2017-03-11 16:27:38
我知道这有点老了,但我在node js lambda函数中处理来自dynamoDB的流数据时遇到了同样的问题。我使用了@churro提出的
导入sdk和输出转换器
var AWS = require("aws-sdk");
var parse = AWS.DynamoDB.Converter.output;通过一个小技巧使用parse函数
exports.handler = function( event, context, callback ) {
var docClient = new AWS.DynamoDB.DocumentClient();
event.Records.forEach((record) => {
console.log(record.eventID);
console.log(record.eventName);
console.log('DynamoDB Record:', parse({ "M": record.dynamodb.NewImage }));
});
callback(null, `Successfully processed ${event.Records.length} records.`);
}希望能有所帮助
https://stackoverflow.com/questions/32712675
复制相似问题