Я пытаюсь достичь чего-то, что, как я предполагал, будет довольно стандартным, но я ударил стену этим. У меня есть куча данных, которые я хочу сохранить в DynamoDB
const putDataParams = {
TableName: "sensorNodeData2",
Item: {
"deviceId": {"S": event.deviceId},
"timeStamp": {"N": event.time},
"rssi": {"S": event.rssi},
"seq": {"S": event.seqNum},
"payload": {"L": payloadArrayInt16.map(x => x.N)}
}
};
console.log('Data PutItem Params = ' + JSON.stringify(putDataParams));
dynamodb.putItem(putDataParams, function(err, data) {
if (err) {
console.log(err);
context.fail('ERROR: Dynamo failed: ' + err);
}
else {
console.log(data);
context.succeed('SUCCESS');
}
});
Проблема в том, что я не могу понять, как заставить часть списка работать. Сначала я определил это как:
var payloadArrayInt16= new Uint16Array(dataArrayMaxIndex);
и ошибка:
"errorMessage": "ERROR: Dynamo failed: InvalidParameterType: Expected params.Item[payload].L to be an Array"
Тогда я попробовал:
var payloadArrayInt16= [dataArrayMaxIndex];
Который прошел, но, очевидно, не делает то, что я хочу ... когда я распечатываю параметры, он не вынимает содержимое массива. Он видит:
"Temp":{"L":[null,null,null,null,null,null,null,null,null,null]}
Я вырываю волосы. Нет ни одного примера того, как это сделать. Может кто-нибудь, пожалуйста, избавить меня от моих страданий?!