DynamoDB Scan Lambda 函数 returns HTTP 请求或我不明白的东西,但不是项目列表

DynamoDB Scan Lambda function returns HTTP request or something that I do not understand, but not list of items

我已经部署了一个 Lambda 函数,它应该使用 scan(params, cb) 函数获取项目列表。在控制台中,我看到了一些不同的东西,不是返回的列表,而是看起来像 http 请求正文或响应的东西?

能否请您解释一下如何正确获取列表以及我得到了什么?


exports.handler = async (event, context, callback) => {
    console.log('function started')
    let params = {
        TableName: "documents"
    }

    console.log('params get')
    let respond = await db.scan(params, (err, data) => {
        console.log('scan started')
        if (err) console.log(err, err.stack);
        else {
            console.log('else started')

           return data
        }
    })
    console.log('Respons IS: ')
    console.log(respond)
};

响应是一个巨大的列表:

您正在混合 callbacks and async/await ES6 功能。

我建议你在这种情况下只使用后者。

这是它的样子:

const aws = require('aws-sdk');

const db = new aws.DynamoDB.DocumentClient();

exports.handler = async (event, context) => {
    console.log('function started');
    const params = {
        TableName: "documents"
    };

    console.log('params get');
    const respond = await db.scan(params).promise();
    console.log('Respons IS: ');
    console.log(respond);

    return ...
};