如何在dynamodb中传递变量键值

时间:2018-01-09 09:19:07

标签: amazon-dynamodb

我试图根据当前日期从DynamoDB表中获取项目。当我尝试运行下面的代码时,使用字符串格式的日期值,错误地说:

{

" errorMessage":"错误:Dynamo失败:TypeError:无法读取属性'数据类型'未定义"

}

以下是一段代码:

exports.handler = function(event, context) {
    console.log("Request received:\n", JSON.stringify(event));
    console.log("Context received:\n", JSON.stringify(context));

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

var  params = {
Key: {
     "abc" : datetime1
},
TableName: 'myTable',
ProjectionExpression: 'message'
};

var Message = callback();
var datetiem = new Date().toISOString().split('T')[0];
    console.log('date is ', datetiem); // prints 2018-01-09

var datetime1 = JSON.stringify(datetiem);    
console.log(datetime1); //prints "2018-01-09"

function callback (message) {
dynamodb.getItem(params, function (err, data) {
        if (err) {
           context.fail('ERROR: Dynamo failed: ' + err);
        } else {
         console.log('Dynamo Success: ' + JSON.stringify(data, null, '  '));
                 console.log('data', data)
                  let Message = data['Item'].message;
                    console.log('test',Message);
         }

  });
}
};

如果我直接传递值,那么它运行正常,即" abc" :" 2018-01-09" 有人可以请教吗?

1 个答案:

答案 0 :(得分:0)

我不确定在参数中使用它时是否定义了datetime1变量。试试这个:

passData