Я пытаюсь «putItem» записать новую запись в базу данных dynamoDB, но при попытке включить массив в данные. Мой params.Item выглядит следующим образом:dynamodDB putItem: «UnexpectedParameter: Неожиданный ключ« L »найден в params.Item«
msg.params.Item = {
fileName: {S: "filename"}, // database is keyed on filename
userEmail: {S: "emailaddress"},
transcription: {S: "text here"},
features: {L: [ { "relevance": {S: "0.900906"}, "text": {S: "keyword"}} ]}
};
я неоднократно получаю ошибку "UnexpectedParameter: Неожиданная клавишу 'L' найдено в params.Item [ 'функция']". Я предполагаю, что некорректно отформатировал массив «features», но я не могу понять, где моя ошибка. Я пробовал много разных заклинаний массива. Любая помощь оценивается, так как есть несколько шокирующих примеров онлайн-работы dynamoDB putItem javascript с использованием массивов.
FYI: Я использую node.js внутри Node-RED, что может объяснить нечетный код, но раньше я работал с базой данных Cloudant. Только dynamoDB задыхается от этого массива.
Спасибо. Я пробовал этот вариант, но все же получил сообщение об ошибке «UnexpectedParameter: Неожиданный ключ« L », найденный в params.Item ['features']". Возможно, это артефакт узла dynodeDB Node-RED, который я использую (https://github.com/michaelmruta/node-red-contrib-aws-dynamodb/blob/master/dynamodb.html). –
@TedBarnett вы можете вставить элемент, если вы исключили 'features'? – rob
@TedBarnett Я могу прыгать с пистолета на этом, но кажется, что библиотека, которую вы связали, [обертывает элемент] (https://github.com/michaelmruta/node-red-contrib-aws-dynamodb/blob /master/dynamodb.js#L76). Согласно [npm doc] (https://www.npmjs.com/package/dynamodb-data-types#quick-example), передача регулярной структуры данных в 'attr.wrap()' добавляет соответствующую маркировку DynamoDB , – rob