AWS DynamoDB node.js放入请求不会将数据放入Dynamo表中

我正在使用以下代码将数据提取到DynamoDB。

从Kinesis读取的代码

var AWS = require("aws-sdk"), DOC = require("dynamodb-doc"); docClient = new DOC.DynamoDB(); function upsert(result) { var info = new Info(result); console.log('Within upsert :', info.AcctNo); docClient.putItem({ TableName: "test_lamda_dynamo_table", Item: info }, function(err, data) { if (err) { console.error('error', err); context.done('error', err); } else { console.log('success', data); context.done('success', event.Records); } }); } 

我无法在cloudwatch日志中看到error handling程序sysouts,也无法看到DynamoDB中的数据。

下面是来自cloudwatch的示例日志

 "Within upsert Info: 1234456" 

我无法在cloudwatch lambda函数日志中看到与PutItem函数相关的任何错误日志。

请build议我在这里做错了什么。

我在下面的链接find了解决这个问题的方法。

用Lambda查询DynamoDB什么也不做

这是因为在lambda处理程序中使用了context.succeed调用。

  exports.handler = function(event, context) { event.Records.forEach(function(record) { try { var payload = new Buffer(record.kinesis.data, 'base64').toString('ascii'); console.log('Decoded payload:', payload); upsert(payload, context); // bug context.succeed("Success") } catch (e) { // log error and continue console.error('Error occured while inserting messages to Dynamo' + e); } }); };