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