Мой код читает таблицу DynamoDB с заданной меткой времени (которая является ключом для таблицы DynamoDB).Затем я пытаюсь распечатать конкретный столбец / данные в консоли.Но выводится как «Не определено».
Проблема: Консоль отображает «dataget.VALUEMAX» как неопределенное, но «event.VALUEMAX» с правильным значением.Я не могу найти, что я делаю неправильно с набором данных.
Журнал:
Received dataget: {
"Item": {
"TimeStamp": timestamp,
"VALUEMIN": 101,
"VALUEMAX": 500
}
}
VALUEMAX undefined
VALUEMAX 500
Мой код:
console.log('Loading function');
var AWS = require('aws-sdk');
var dynamo = new AWS.DynamoDB.DocumentClient();
var table = "TABLE";
exports.handler = function(event, context) {
console.log('Received event:', JSON.stringify(event, null, 2));
var TimeStamp = String(Math.round(Date.now() / 60000) * 60000);
console.log("TimeStamp: ", TimeStamp);
//READ EXISTING VALUES IN DB AT TIMESTAMP
var paramsget = {
TableName:table,
Key:{TimeStamp": TimeStamp},
};
dynamo.get(paramsget, function(err, dataget) {
if (err) console.log(err, err.stack); // an error occurred
else console.log('Received dataget:', JSON.stringify(dataget, null, 2))
console.log("VALUEMAX", dataget.VALUEMAX);
console.log("VALUEMAX", event.VALUEMAX);
}
//END READ EXISTING VALUES IN DB AT TIMESTAMP
//ADD EVENT TO DB
var params = {
TableName:table,
Item:{
"VALUEID": event.VALUEID,
"VALUEMAX": event.VALUEMAX,
"VALUEMIN": event.VALUEMIN,
"TimeStamp": TimeStamp
}
};
console.log("Adding...");
dynamo.put(params, function(err, data) {
if (err) {
console.error("Unable to add. Error JSON:", JSON.stringify(err, null, 2));
context.fail();
} else {
console.log("Added:", JSON.stringify(data, null, 2));
context.succeed();
}
});
};