Javascript 亚马逊Lambda赢得';不要向DynamoDB写入数据

Javascript 亚马逊Lambda赢得';不要向DynamoDB写入数据,javascript,amazon-web-services,amazon-dynamodb,amazon-kinesis,aws-lambda,Javascript,Amazon Web Services,Amazon Dynamodb,Amazon Kinesis,Aws Lambda,我将数据流传输到Amazon Kinesis,我使用Amazon Lambda处理数据并将其写入DynamoDB 我的Lambda代码: var doc = require('dynamodb-doc'); var dynamo = new doc.DynamoDB(); exports.handler = function(event, context) { //console.log('Received event:', JSON.stringify(event, null, 2)

我将数据流传输到Amazon Kinesis,我使用Amazon Lambda处理数据并将其写入DynamoDB

我的Lambda代码:

var doc = require('dynamodb-doc');
var dynamo = new doc.DynamoDB();

exports.handler = function(event, context) {
    //console.log('Received event:', JSON.stringify(event, null, 2));
    event.Records.forEach(function(record) {
    // Kinesis data is base64 encoded so decode here

    var payload = new Buffer(record.kinesis.data, 'base64').toString('ascii');
    console.log('Decoded payload:', payload);

    var tableName = "_events";
    var datetime = new Date().getTime().toString();

    dynamo.putItem({
        "TableName": tableName,
        "Item" : { 
            "eventID"   : record["eventID"],
            "eventName" : payload
        }
    }, function(err, data) {
        if (err) {
            console.log("dynamodb error: " + err);
            context.done('error putting item into dynamodb failed: '+err);
        }
        else {
            console.log('great success: '+JSON.stringify(data, null, '  '));
            context.succeed('K THX BY');
        }
    });

});
// context.succeed("Successfully processed " + event.Records.length + " records.");
};
当我运行测试时,数据成功保存到DynamoDB。但当我流式传输真实数据时,它不会发生,而日志显示数据是由lambda函数接收的。 此外,console.log()函数在putItem()块中不起作用,因此我不知道如何调试此问题。

问题是: 1.我没有设置正确的权限
2.我只是没有等待足够的时间,以便lambda函数可以处理数据。

不确定这是否是问题所在,但您的lambda是否具有写入DynamoDB的权限?