У меня проблемы с записью данных с использованием составного первичного ключа в DynamoDB. Я создал таблицу DynamoDB под названием TestTable с первичным ключом и ключом сортировки. Вот моя AWS лямбда-функция:
var AWS = require('aws-sdk'),
myDocumentClient = new AWS.DynamoDB.DocumentClient();
exports.handler = function(event, context, callback) {
var params ={
TableName: 'TestTable',
Item: {
'Username': event.Username, \\ Primary Key
'ProductID' : event.ProductID, \\ Sort Key
'Price': event.Price
}
};
const response = {
statusCode: 200,
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Credentials': true,
},
body: JSON.stringify('Item Added'),
};
myDocumentClient.put(params, function(err, data) {
if (err) {
console.log("Error", err);
} else {
console.log("Success", data);
}
});
}
Проблема заключается в том, что при тестировании на Postman с этими данными
{
"Username": "Kane",
"ProductID": 34,
"Price": 43,
}
работает нормально. Однако когда я запустил приложение React с этим кодом
const handleSubmit = async event => {
event.preventDefault();
await axios.post('API-URL',
{Username:`Hii`, ProductID:`${id}`, Price:`${price}`} \\ Problem is here
);
}
, оно не записало данные в таблицу. Я думаю, что проблема в этой строке
{Username:`Hii`, ProductID:`${id}`, Price:`${price}`}
Может кто-нибудь помочь мне? Я пытался понять это около пяти часов, но ничего не получил. Большое вам спасибо.