猿问

从AWS.DynamoDB.DocumentClient.Scan()调用返回输出

我有一个函数可以从DynamoDB表(事物)中返回记录数:


const table = 'Things';

const region = 'us-east-1';

const profile = 'development';


process.env.AWS_SDK_LOAD_CONFIG = true;

process.env.AWS_PROFILE = profile;


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

AWS.config.update({ region: region });


function ddb_table_has_records(table_name) {

    const ddb_client = new AWS.DynamoDB.DocumentClient();


    const ddb_query_parameters = {

        TableName: table_name,

        Select: 'COUNT'

    }


    const results = ddb_client.scan(ddb_query_parameters).promise();


    results.then((data) => {

        console.log(data.Count);

        return data;

    }).catch((err) => {

        console.log("Error: ", err);

    })

}


console.log(ddb_table_has_records(table));

当我运行此代码时,得到以下信息...


PS C:\> node .\get-count-thing.js

undefined

3951

在下面的内容中,我不会从扫描中捕获数据;虽然,我在console.log()调用中看到了它:


console.log(ddb_table_has_records(table));

我在想什么?


梵蒂冈之花
浏览 205回答 1
1回答

慕桂英4014372

如果有人遇到相同问题,请发布我的修复程序。我必须进行两项更改才能从表中检索项目。我需要......项目 ALL_ATTRIBUTES...对已退回的商品的集合进行迭代以下是我的更改功能:function ddb_table_has_records(table_name) {    const ddb_client = new AWS.DynamoDB.DocumentClient();    const ddb_query_parameters = {        TableName: table_name,        Select: 'ALL_ATTRIBUTES'    }    const results = ddb_client.scan(ddb_query_parameters).promise();    results.then((data) => {        console.log(data.Count);        data.Items.forEach((thing) => {            console.log(thing);        });    }).catch((err) => {        console.log("Error: ", err);    })}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答