Tôi đang cố cập nhật một Mục trong Bảng Dynamodb + Người dùng + của mình. Tôi đã thử nhiều cách khác nhau nhưng tôi luôn nhận được cùng một thông điệp báo lỗi:DynamoDB - Phần tử khóa không khớp với lược đồ
Các yếu tố quan trọng cung cấp không phù hợp với sơ đồ
Việc tạo ra một mục công trình, cũng như một truy vấn nhưng không bản cập nhật. Khi tôi kiểm tra trên DynamoDB người dùng cũng tạo:
{
"email": "[email protected]",
"password": "123",
"registration": 1460136902241,
"verified": false
}
Dưới đây là thông tin bảng:
- Bảng tên: Người dùng
- phân vùng Primary key: Email (String)
- Khóa phân loại chính: đăng ký (Số)
Đây là mã (gọi từ lambda):
exports.handler = function(event, context)
{
var AWS = require("aws-sdk");
var docClient = new AWS.DynamoDB.DocumentClient();
var params = {
TableName: "Users",
Item:{
email: "[email protected]",
password: "123",
verified: false,
registration: (new Date()).getTime(),
}
};
// Create the user.
docClient.put(params, function(err, data)
{
if (err)
{
context.fail("Put failed...");
return;
}
var params = {
TableName: "Users",
Key: { email : "[email protected]" },
AttributeUpdates: {
verified: {
Action: "PUT",
Value: true
}
}
};
// Update the user.
docClient.update(params, function(err, data)
{
if (err)
{
console.log(JSON.stringify(err));
context.fail(JSON.stringify(err));
return;
}
context.succeed("User successfully updated.");
});
});
};
Bạn có bất cứ ý tưởng về những gì có thể sai trong mã của tôi?
Nó hoạt động, cảm ơn bạn! Nhưng có thể chỉ có địa chỉ email làm khóa chính không? – user6178502
Có thể chỉ có địa chỉ email làm khóa chính. http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/SampleData.CreateTables.html – auhuman