首页 > 解决方案 > 是否可以将 DynamoDb 中的扫描数据保存到 Lambda 函数中的变量中?

问题描述

我正在使用 AWS Lambda 函数,并且正在从我的 DynamoDB 执行读取操作。问题是,是否可以保存我从 DynamoDB 检索到的数据。因为我想稍后在写入或更新操作中发送字段的值之一。

'use strict';

const aws = require('aws-sdk');
const ddb = new aws.DynamoDB.DocumentClient({region: 'us-east-2'});

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

exports.handler = (event, context, callback) => {
 
    const params = {
            TableName: 'parking_lots',
            Limit: 10
    }
    return ddb.scan(params, function(err, data){
        if(err){
            console.log(err);
        }else{
            console.log(data);
        }
    });
    
 
};

例如:

const data = ddb.scan(params, function(err, data){
        if(err){
            console.log(err);
        }else{
            console.log(data);
        }
    });

所以我可以访问这样的数据

data.lot_number;

标签: node.jsamazon-web-servicesaws-lambdaamazon-dynamodb

解决方案


我相信您的意思是将数据“存储”在变量中。

如果您使用async/await.

'use strict';

const aws = require('aws-sdk');
const ddb = new aws.DynamoDB.DocumentClient({region: 'us-east-2'});

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

exports.handler = async (event, context) => {
 
    const params = {
            TableName: 'parking_lots',
            Limit: 10
    }

    const data = await ddb.scan(params).promise()
    
    // You now have access to data.
    console.log(data)
    
    return Promise.resolve()
};

推荐阅读