如何修复未插入本地动态引擎(NodeJS)的数据

时间:2019-04-10 07:41:46

标签: node.js amazon-web-services aws-lambda amazon-dynamodb dynamo-local

我正在尝试通过我创建的终结点将数据插入本地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函数,将有一个控制台日志记录成功,并将数据插入表中,如果有错误,也会记录错误

实际: 根本没有产生错误代码

0 个答案:

没有答案