Код: Выделить всё
The provided key element does not match the schema
Код: Выделить всё
if (req.method === "DELETE" && parsedUrl.pathname === "/api/users") {
const userID = parsedUrl.query.userID;
if (!userID) {
res.writeHead(400);
return res.end(JSON.stringify({ error: "userID is required" }));
}
const params = {
TableName: "Trivia-app-users",
Key: {
"userID": userID,
},
};
try {
await dynamoDb.delete(params).promise();
res.writeHead(200);
return res.end(JSON.stringify({ message: "User data deleted successfully!" }));
} catch (error) {
console.error("Error deleting data from DynamoDB:", error);
res.writeHead(500);
return res.end(JSON.stringify({ error: "Failed to delete user data" }));
}
}
- Ключ раздела таблицы DynamoDB имеет имя userID< /code> (с учетом регистра) и имеет тип String.
- Параметр userID правильно извлекается из строки запроса запроса, и его тип также Строка.
- Объект params кажется правильно структурированным при регистрации:
Я протестировал запрос GET с той же таблицей, и он успешно извлекает данные.
Код: Выделить всё
{ TableName: 'Trivia-app-users', Key: { userID: 'someUserID' } }
Я искал решения по переполнению стека и проконсультировался с ChatGPT, но не нашел ничего, что разрешало бы проблема.
Что может быть причиной исключения ValidationException для запроса DELETE и как это исправить?
Подробнее здесь: https://stackoverflow.com/questions/793 ... nexception