Запросите DynamoDB, чтобы проверить, существует ли конкретный элемент или нет

#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 и разработке. Любая помощь действительно ценится.

Заранее благодарю вас!