【问题标题】:How to get data from an json file in aws-lambda using node js如何使用节点 js 从 aws-lambda 中的 json 文件中获取数据
【发布时间】:2021-03-28 19:38:42
【问题描述】:

我正在尝试使用节点 js 从 lambda 函数中的 json 文件读取数据。无法检索数据。得到空响应。我的lambda函数代码如下:

var AWS = require('aws-sdk');
AWS.config.update({region: 'us-east-2'});
const s3 = new AWS.S3({apiVersion: '2006-03-01'});

exports.handler = async function(event, context, callback) {

    var bucketParams = {
        Bucket : 'sample-bucket',
        Key: 'employee.json'
    };

s3.getObject(bucketParams, function(err, data) {
    if (err) {
        console.log("Error", err);
    } else {
        callback(null, data.Body.toString());
    }
});

};

回应: 空

【问题讨论】:

    标签: node.js amazon-web-services amazon-s3 lambda


    【解决方案1】:

    既然你使用callback返回,你不应该使用asnyc

    var AWS = require('aws-sdk');
    AWS.config.update({region: 'us-east-2'});
    const s3 = new AWS.S3({apiVersion: '2006-03-01'});
    
    exports.handler = function(event, context, callback) {
    
        var bucketParams = {
            Bucket : 'sample-bucket',
            Key: 'employee.json'
        };
    
        s3.getObject(bucketParams, function(err, data) {
           if (err) {
              console.log("Error", err);
           } else {
            callback(null, data.Body.toString());
          }
        });
    
    };
    

    还要确保该函数具有适当的权限以访问 S3。

    【讨论】:

    • 再次回复:null
    • @FranklinInnocentF 这意味着您收到错误console.log("Error", err);。检查 CloudWatch Logs 以了解您的函数出错的原因。
    猜你喜欢
    • 2020-12-12
    • 2020-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-22
    • 2018-10-24
    相关资源
    最近更新 更多