我正在尝试使用读取aws s3存储桶中的文件
fs.readFile(file, function (err, contents) {
var myLines = contents.Body.toString().split('\n')
})
我已经能够使用节点aws-sdk下载和上传文件,但是我不知道如何简单地读取它并解析内容。
下面是我如何从s3读取文件的示例:
var s3 = new AWS.S3();
var params = {Bucket: 'myBucket', Key: 'myKey.csv'}
var s3file = s3.getObject(params)
因为你似乎想逐行处理一个S3文本文件。下面是一个使用标准readline模块和AWS的createReadStream()的节点版本
const readline = require('readline');
const rl = readline.createInterface({
input: s3.getObject(params).createReadStream()
});
rl.on('line', function(line) {
console.log(line);
})
.on('close', function() {
});
这将做到:
new AWS.S3().getObject({ Bucket: this.awsBucketName, Key: keyName }, function(err, data)
{
if (!err)
console.log(data.Body.toString());
});
你有几个选择。您可以将回调作为第二个参数,它将与任何错误消息和对象一起调用。这个例子直接来自AWS留档:
s3.getObject(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
或者,您可以将输出转换为流。AWS留档中也有一个例子:
var s3 = new AWS.S3({apiVersion: '2006-03-01'});
var params = {Bucket: 'myBucket', Key: 'myImageFile.jpg'};
var file = require('fs').createWriteStream('/path/to/file.jpg');
s3.getObject(params).createReadStream().pipe(file);
问题内容: 我正在尝试使用AWS S3存储桶中的文件进行读取 我已经能够使用节点aws-sdk下载和上传文件,但是我对如何简单地读取文件并解析内容感到困惑。 这是我从s3中读取文件的示例: 问题答案: 您有两种选择。您可以包括一个回调作为第二个参数,该参数将与任何错误消息和对象一起调用。该示例直接来自AWS文档: 或者,您可以将输出转换为流。AWS文档中还有一个示例:
我想读一本书的内容。存储在s3存储桶中的txt文件。 我试过: 但是我得到的s3file对象不包含文件的内容。 你知道该怎么做吗?
我不知道这是如何可能的编程新我想打印值,在abc.txt中存在,但不知道如何做到这一点,使用节点js 预期输出:
我不熟悉node。js被困在这里了。我有一个json文件keyValue。类似于此的json 对于特定的键,我需要获取值。 如何在node中实现这一点。js。谢谢你的帮助。
我刚接触骆驼,需要一些指导。我需要从S3存储桶中读取一些文件。结构是这样的。 当一个特定的excel文件被放入传入的/xls文件夹(比如file1.xls)时,我需要拾取所有文件,进行一些处理并将它们放入具有相同目录结构的已处理文件夹中。 我需要使用什么组件?我试着阅读留档,但有点难以弄清楚我需要什么组件。我知道我会使用camel-aws-s3插件,但那里没有很多例子。
我通过执行以下操作读取S3存储桶中的文件名 现在,我需要获取文件的实际内容,类似于打开(filename).readlines()。最好的方法是什么?