#node.js #aws-lambda #amazon-dynamodb #dynamodb-queries #aws-dynamodb
Вопрос:
Я только начал с Node.js и AWS DynamoDB, и я застряли с очень простой проблемой. Я хотел бы запросить свой DynamoDB, в котором есть таблица «Пользователи» со столбцами «Имя пользователя»(PKey) и «JoinedOn». Теперь я хотел бы написать лямбда-функцию, чтобы проверить, существует ли конкретное имя пользователя или нет, и на основе этого вернуть ответ. В настоящее время я использую приведенный ниже код:
const AWS = require('aws-sdk'); const docClient = new AWS.DynamoDB.DocumentClient(); const params = { TableName : 'Users', Key: { Username: 'user1' } } async function getItem(){ try { const data = await docClient.get(params).promise() return data } catch (err) { return err } } exports.handler = async (event, context) =gt; { try { const data = await getItem() return { body: JSON.stringify(data) } } catch (err) { return { error: err } } }
В настоящее время я жестко кодирую ключ (Имя пользователя: ‘user1’) в своем коде, но я хочу избежать этого, так как хочу использовать один и тот же код для проверки разных пользователей, существует ли имя пользователя в таблице «Пользователи» или нет.
Я хочу использовать Сэма. Мой event.json должен выглядеть так, как показано ниже, так как я хочу проверить, существует ли user1 в разделе «Пользователи» или нет:
{ "Username": "user1" }
При запуске «sam local вызывает тестовую функцию -e события/event.json» я должен получить ответ «Пользователь существует» или «Пользователь не существует».
Я новичок в AWS и разработке. Любая помощь действительно ценится.
Заранее благодарю вас!