我使用无服务器框架来处理数据库,使用AWS Lambda函数。我已经在dynamoDb上创建了这个表,我想为我的客户构建一个CRUD。我用Lambda函数在表上创建了一些客户端,但我无法从表中获取项目,我不知道为什么。在这里,我展示了我的lambda函数和这个函数的serverless.yml。
module.exports.getClient = (event, context, callback) =>{
const params = {
Key: {
PK: event.pathParameters.PK,
SK: `#METADATA#${event.pathParameters.PK}`
},
TableName:dataTable
};
console.log(params);
return db
.get(params)
.promise()
.then((res) => {
if (res.Item) callback(null, response(200, res.Item));
else callback(null, response(404, { error: 'Cliente no encontrado' }));
})
.catch((err) => callback(null, response(err.statusCode, err)));
};
getClient:
handler: handler.getClient
events:
- http:
path: /client/{PK}
method: get
integration: LAMBDA
在这里,我展示了我在dynamoDb上的表,其中包含我在同一项目中使用另一个lambda函数创建的项。DynamoDB 上的数据表
检查PK
PK: `CLIENT#${event.pathParameters.PK}`,
SK: `#METADATA#${event.pathParameters.PK}`