我是javascript和node.js的新手,想知道是否有人能帮助我通过node.js SDK弄清楚将新项目放到AWS Dynamodb上的现有表中的语法。下面是我目前所掌握的。有没有我正在尝试做的示例?如果有人能给我指出正确的方向,我将非常感激。
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
}
});
5条答案
按热度按时间30byixjq1#
3gtaxfhh2#
我希望你的“id”是数字...
注意,使用DynamoDB,您在创建表时指定数据类型(N numeric,S string,B binary),仅用于主键(HashKey 或 HashKey+RangeKey)。所有其他列的数据类型都允许变化,并且可以被视为键-值对。因此,DynamoDB必须始终使用项属性对数据类型进行编码。
ykejflvf3#
我不认为muhqu的答案有效,我认为属性的值必须是字符串。
http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html#putItem-property
64jmpszr4#
我建议使用
documentClient
,因为它使在dynamoDb中读取和写入数据更容易。同时使用条件putItem将确保项是唯一的,并且不会覆盖现有项。“attribute_not_exists”检查示例中的userId是否不存在。如果userId存在,它将抛出错误。希望现在还不算太晚:Pm528fe3b5#
使用
aws-sdk
时,您可以使用类似以下的内容: