无服务器AWS Lambda Dynamodb抛出内部错误



我用lambda做了一个todo应用。我使用无服务器框架进行部署。我做了一个帖子请求,用户可以创建一个待办事项列表。为了测试,我使用post-man。对于我的Lambda函数,我使用async函数。我可以在Dynamo db中发布请求和我的项目存储,但我得到了响应Internal server error。我的目标是在我的邮差中显示我发出的邮件请求。

下面是我的代码:
'use strict'
const AWS = require('aws-sdk');
const uuid = require('uuid');
const dynamoDb = new AWS.DynamoDB.DocumentClient();
module.exports.createTodo = async (event) => {
const datetime = new Date().toISOString();
const data = JSON.parse(event.body);
const params = {
TableName: 'todos',
Item: {
id: uuid.v1(),
task: data.task,
done: false,
createdAt: datetime,
updatedAt: datetime
}
};
try {
let data = await dynamoDb.put(params).promise();
console.log(data);
return JSON.stringify(data); // this throw me internal server error.
} catch (error) {
console.log(error);
}
};

由于要通过API Gateway调用Lambda函数,因此需要将响应转换为以下结构-

return {
statusCode: 200,
body: JSON.stringify(data),
// headers: {'Content-Type': 'application/json'}, // Uncomment if needed by your client
}

相关内容

最新更新