Может ли кто-нибудь помочь мне здесь, я попробовал все: функции get и getItem НЕ возвращают ничего (в l oop, функция обещания), хотя в таблице динамодб есть запись. Также он не говорит об ошибке, поэтому я могу знать, что делать дальше.
У меня есть учетная запись AWS: база данных DynamoDB с таблицами и лямбда с ролью DynamoFullaccessDB для базы данных.
Я пытаюсь получить элемент из таблицы из той же учетной записи из DynamoDB (я создал несколько таблиц, попробовал использовать первичный ключ со строкой и номером)
Функция putItem работает, и она вставляет элемент в указанный таблицы, но ни getItem, ни DocumentClient не получают функцию get, поскольку они не возвращают никаких ошибок и не возвращают никаких элементов, хотя я указал правильный ключ и правильное имя таблицы.
Вот код лямбда-функция:
var AWS = require('aws-sdk');
AWS.config.update({region:'eu-central-1'});
exports.handler = async (event,context) => {
// TODO implement
// Create the DynamoDB service object
AWS.config.update({region:'eu-central-1'});
var ddb = new AWS.DynamoDB({apiVersion: '2012-08-10'});
var params = {
Key: {
"testKey":{S: "sun"}
},
TableName: "test",
ConsistentRead: true
};
var data =[];
await ddb.getItem(params, function(err, data2) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data);
data.push(err);
data.push(data2);
});
const db = new AWS.DynamoDB.DocumentClient({
region : 'eu-central-1'
});
const params3 = {
TableName : "test",
Key: {
testKey:"sun"
}
};
db.get(params3, (err, data4) => {
if (err){
console.log("Error:", err);
}
else{
console.log("Success:", data4.Item);
}
data.push(data4.Item);
console.log("Completed call");
});
const response = {
statusCode: 200,
body: JSON.stringify(data)+JSON.stringify(" LUCHIAN ----") ,
};
return response;
};