簡體   English   中英

查詢 DynamoDB 以檢查特定項目是否存在

[英]Query DynamoDB to check if a particular item exists or not

我剛開始使用 Node.js 和 AWS DynamoDB,我遇到了一個非常基本的問題。 我想查詢我的 DynamoDB,它有一個帶有“用戶名”(PKey) 和“JoinedOn”列的“用戶”表。 現在我想寫一個 Lambda function 來檢查一個特定的用戶名是否存在,並在此基礎上返回一個響應。 目前我正在使用以下代碼:

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) => {
  try {
    const data = await getItem()
    return { body: JSON.stringify(data) }
  } catch (err) {
    return { error: err }
  }
}

我目前正在我的代碼中對密鑰(用戶名:'user1')進行硬編碼,但我想避免這樣做,因為我想使用相同的代碼來檢查不同的用戶,用戶名是否存在於“用戶”表中.

我想使用 SAM。 我的 event.json 應該如下所示,因為我想檢查 user1 是否存在於“用戶”中:

{
  "Username": "user1"
}

在運行“sam local invoke TestFunction -e events/event.json”時,我應該得到“用戶存在”或“用戶不存在”的響應

我是 AWS 和開發的新手。 非常感謝任何幫助。

先感謝您!

您需要在 lambda 的環境變量部分定義該用戶名。然后在 lambda 代碼中您可以簡單地調用 process.env.username。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM