[英]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.