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

Sever-less AWS Lambda Dynamodb throw internal error

我使用 lambda 制作了一个待办事项应用程序。我使用无服务器框架进行部署。我提出了一个 post 请求,用户可以在其中创建待办事项列表。为了测试,我正在使用 post-man。对于我的 Lambda 函数,我使用的是异步函数。我可以在 Dynamo 数据库中发出 post 请求和我的项目存储,但我得到了响应 Internal server error。我的目标是向我的 post 男人展示我提出的 post 要求。

这是我的代码:

'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 网关调用 Lambda 函数,因此您需要将响应转换为以下结构 -

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