Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 无法使用aws-s3-zipper和node js压缩s3 bucket中存在的文件_Node.js_Amazon Web Services_Amazon S3_Aws Lambda - Fatal编程技术网

Node.js 无法使用aws-s3-zipper和node js压缩s3 bucket中存在的文件

Node.js 无法使用aws-s3-zipper和node js压缩s3 bucket中存在的文件,node.js,amazon-web-services,amazon-s3,aws-lambda,Node.js,Amazon Web Services,Amazon S3,Aws Lambda,我需要在aws s3 bucket中专门压缩.gz格式的文件。我没有任何合适的例子。有人对此有什么建议吗。提前谢谢 您可以使用AWS CLI编写一个简单的bash脚本,该脚本将从S3-->压缩文件并将其放回S3根据文件的大小,Lambda可能不是合适的工具。也就是说,如果您的文件不是太大,这应该可以: const zlib = require('zlib'); const passThrough = new stream.PassThrough(); const body = s3.getOb

我需要在aws s3 bucket中专门压缩.gz格式的文件。我没有任何合适的例子。有人对此有什么建议吗。提前谢谢

您可以使用AWS CLI编写一个简单的bash脚本,该脚本将从S3-->压缩文件并将其放回S3

根据文件的大小,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是一个包含的模块,不需要安装任何东西,只需
要求
它。

我正在使用aws lamda和node js来实现这一点。我们可以使用与aws-lamda相同的建议吗?我们不能使用我建议的lambda解决方案。