Поместите элемент в таблицу DynamoDB с помощью AWS SDK для Node.js
Я новичок в javascript и node.js и задавался вопросом, может ли кто-нибудь помочь мне разобраться в синтаксисе размещения нового элемента в существующей таблице на AWS Dynamodb через их node.js SDK. Вот что я до сих пор. Есть ли пример того, что я пытаюсь сделать? Если бы кто-нибудь мог указать мне в правильном направлении, это было бы очень признательно.
var AWS = require('aws-sdk');
AWS.config.loadFromPath('./config.json');
AWS.config.update({region: 'us-east-1'});
var dynamodb = new AWS.DynamoDB();
var item = {
// I need to put the an item with a the primary key of "id", and an attribute called "item"
// I'm new to js and node.js, so if somebody could help me understand the documentation
// http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/frames.html#!http%3A//docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB_20120810.html
}
dynamodb.putItem({TableName: 'log_dev', Item: item}, function(err, data){
if (err) {
console.log(err); // an error occurred
} else {
console.log(data); // successful response
}
});
Ответы
Ответ 1
dynamoDB.putItem(
{
"TableName": "Table1",
"Item": {
"Color": {"S": "white"},
"Name": {"S": "fancy vase"},
"Weight": {"N": "2"},
"LastName":{"S": "Kumar"}
}
}, function(result) {
result.on('data', function(chunk) {
console.log("" + chunk);
});
});
console.log("Items are succesfully ingested in table ..................");
Ответ 2
Я ожидаю, что ваш "id" будет числовым...
var item = {
"id": {"N": 1234},
"title": {"S": "Foobar"}
}
Обратите внимание, что с DynamoDB вы указываете тип данных (N "числовой, S", B "двоичный) при создании таблицы, только для первичного ключа (HashKey или HashKey + RangeKey). Все остальные столбцы могут варьироваться в своем типе данных и могут рассматриваться как пары ключ-значение. Поэтому для DynamoDB очень важно всегда кодировать тип данных с атрибутами элемента.
Ответ 3
Я не думаю, что ответ muhqu работает, я считаю, что значение атрибута должно быть строкой.
var item = {
"id": {"N": "1234"},
"title": {"S": "Foobar"} }
http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html#putItem-property