无法使用aws-s3-zipper和node js压缩s3存储桶中存在的文件

时间:2018-05-22 07:00:35

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

我需要在aws s3存储桶中专门压缩文件.gz格式。我没有得到任何适当的例子。有没有人对此有任何建议。提前致谢。

2 个答案:

答案 0 :(得分:0)

您可以使用AWS CLI编写一个简单的bash脚本,它将从S3获取文件 - >拉链并将其放回S3

答案 1 :(得分:0)

根据文件的大小,Lambda可能不是正确的工具。就是说,如果您的文件不是太大,这应该可以工作:

const zlib = require('zlib');

const passThrough = new stream.PassThrough();
const body = s3.getObject(s3Params).createReadStream().pipe(zlib.createGunzip()).pipe(passThrough);

const s3Out = {
    Key: key,
    Bucket: bucket,
    Body: body
}

await s3.upload(s3Out).promise();

zlib是一个包含的模块,无需安装任何东西,只需require