最近在学习AWS S3 Lambda ,写了一些入门的简单操作给和我一样的小菜鸟们
我使用的是nodejs
使用getObject在S3桶中download一个gz文件,对其进行解压缩,并将解压的csv文件转换为json读取。
用到csvtojson
var AWS = require('aws-sdk');
var zlib = require('zlib');
const fs = require('fs')
const csvtojson = require('csvtojson');
AWS.config.update({
accessKeyId: 'KeyId',
secretAccessKey: '/',
region: 'yourRegion'
});
var s3 = new AWS.S3();
var params = {
Bucket: 'myBucket',
Key: 'log.csv.gz',
};
let gzip = zlib.createGunzip();
const ws = fs.createWriteStream("./log.csv");
s3.getObject(params).createReadStream().pipe(gzip).pipe(ws);
const vs = fs.createReadStream('./log.csv');
csvtojson()
.fromFile('./log.csv')
.then((json) => {
console.log(json)
fs.writeFileSync("./log.json",JSON.stringify(json),"utf-8",(err) => {
if(err) console.log(err)
})
})