AWS开发工具包 - getObject将返回的文件从ASCII缓冲区转换为gzip,然后再转换为csv

时间:2018-03-27 08:07:59

标签: javascript node.js aws-sdk

我正在使用aws-sdk作为Nodejs,我正在以缓冲区的形式从AWS桶中获取一个对象,如下所示:[31,139,8,0,0,0 ... ]

该文件是带有csv的gzip,filename.csv.gz

如何转换缓冲区并简单地读取文件并解析内容?

1 个答案:

答案 0 :(得分:1)

zlib库可以对一个缓冲区进行gunzip,这样你就可以使用它从s3 Body函数解压缩回调数据参数的缓冲区getObject属性: / p>

const zlib = require("zlib")
zlib.gunzip(data.Body, function(err, csvFileBuffer) {
//process CSV file
})

这意味着csvFileBuffer是csv文件的缓冲区。然后,您可以将其读入包含csvFileBuffer.toString('utf8')的字符串,或以其他方式读取以实际处理CSV文件