在使用AWS Javascript SDK对发电机表执行updateItem操作时,我看到第二行使用相同的主键编写,这肯定与文档相反。
我使用的是哈希字符串键“user_id”。
初写:
var params = {
Item: {
user_id : {S: "foo"},
is_authorized: {BOOL: false},
},
TableName: 'MyTable'
};
db.putItem(params, function(err, data){
if(err){
console.log(err);
}else{
console.log(data);
}
});
更新尝试
var updateParams = {
Key: {
user_id : {S: "foo"},
},
AttributeUpdates: {
confirmationCode: {Action: "PUT", Value: {S: "key"}},
phone: {Action: 'PUT', Value: {S: "1234567}},
is_authorized: {Action: 'PUT', Value: {BOOL: false}},
confirmAttempts: {Action: 'PUT', Value: {N: "1"}}
},
TableName: 'MyTable'
};
db.updateItem(params, function(err, data){
if(err){
response = err;
console.log("The error was: " + err);
}else{
response = data;
console.log(data);
}
});
答案 0 :(得分:1)
有关可能遇到此问题的其他人的参考:
此问题是由空格引起的,特别是某些主键字符串末尾的尾随空格。至少在控制台内查看Dynamo记录不会转换空格字符,因此这是一个不可见的问题。