DynamoDB扫描Lambda函数返回HTTP请求或我不理解的东西,但不是项目列表

问题描述 投票:0回答:1

我已经部署了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)
};

响应是一堆巨大的东西:enter image description here

aws-lambda amazon-dynamodb api-gateway
1个回答
1
投票

您正在混合callbacksasync/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 ...
};
© www.soinside.com 2019 - 2024. All rights reserved.