使用Node从s3存储桶读取txt文件的内容

时间:2020-05-13 12:53:50

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

我想读取存储在s3存储桶中的.txt文件的内容。

我尝试过:

var s3 = new AWS.S3({apiVersion: '2006-03-01'});
var params = {Bucket: 'My-Bucket', Key: 'MyFile.txt'};
var s3file = s3.getObject(params)

但是我得到的s3file对象不包含文件的内容。

您对做什么有想法?

2 个答案:

答案 0 :(得分:0)

根据docs,文件内容将位于结果的Body字段中,并且将是Buffer

另一个问题是s3.getObject(应该有一个回调。

s3.getObject(params, (err, s3file) => {
    const text = s3file.Body.toString();
})

答案 1 :(得分:0)

同意zishone,这是带有异常处理的代码:

var s3 =新的AWS.S3({apiVersion:'2006-03-01'}); var params = {Bucket:“ My-Bucket”,密钥:“ MyFile.txt”};

s3.getObject(params,函数(err,数据){

if (err) {
    console.log(err);
} else {
    console.log(data.Body.toString());
}

})