我试图根据当前日期从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" 有人可以请教吗?
答案 0 :(得分:0)
我不确定在参数中使用它时是否定义了datetime1变量。试试这个:
passData