Вам не нужно указывать AttributsToGet
.Если вы его опустите, вы получите все атрибуты по умолчанию, например,
exports.handler = async function(event, ctx, callback) {
const params = {
Key: {
key: event.key
},
TableName : 'app',
};
try {
const data = await dynamoDb.get(params).promise();
console.log(data);
return data.Item;
}
catch (err) {
console.log(err);
return undefined;
}
}
См. Подробности в JavaScript API AWS, в частности, функцию getItem () в DynamoDB.
В качестве альтернативы вы можете найти DynamoDB DocumentClient .Скопировано из get () документации:
var params = {
TableName : 'Table',
Key: {
HashKey: 'hashkey'
}
};
var documentClient = new AWS.DynamoDB.DocumentClient();
documentClient.get(params, function(err, data) {
if (err) console.log(err);
else console.log(data);
});
Примечание, AttributesToGet
является устаревшим параметром в соответствии с документацией.Попробуйте вместо этого использовать ProjectionExpression
, если вы передумали и хотите четко указать, какие атрибуты нужно извлечь.