我正在尝试通过我创建的终结点将数据插入本地dynamoDB中,但无法正常工作。 Promise本身没有错误日志,似乎该函数被忽略了。
这是一个辅助功能,将有助于插入数据
require('aws-sdk/index');
const DynamoDB = require('aws-sdk/clients/dynamodb');
const options = {
apiVersion: '2012-08-10',
region: 'ap-southeast-1',
endpoint: 'http://localhost:8000/',
};
const dynamoDBDoc = new DynamoDB.DocumentClient(options);
async function putData(tableName,insertValue) {
const param = {
TableName: tableName,
Item:insertValue,
ReturnConsumedCapacity: 'TOTAL',
};
// Mock data
// const param = {
// TableName: 'user',
// Item:{
// 'user_id':'1234',
// 'email':'memelorde'
// },
// ReturnConsumedCapacity: 'TOTAL',
// };
try {
const data = await dynamoDBDoc.put(param).promise();
console.log("Data successfully entered", data)
return data;
} catch (e) {
console.log(`failed ${e.message}`);
return false;
}
}
这是我调用上述函数并为其提供要插入的表名的部分
async function createUser(data){
const tableName = "user"
data["user_id"]= uuidv4()
await dynamoDB.putData("user",data);
return await dynamoDB.putData(tableName, data);
}
这是我创建的用于传递用户信息的端点
if (event.httpMethod === 'POST') {
dataset = JSON.parse(event.body)
console.log('/signup POST req =>', dataset)
let res = await user.createUser(dataset)
console.log(res)
}
预期: 如果执行put函数,将有一个控制台日志记录成功,并将数据插入表中,如果有错误,也会记录错误
实际: 根本没有产生错误代码