我曾经使用s3cmd,然后我不得不将其升级到版本1.5.0-alpha3。我无法使用标头--add-header="Content-Encoding: gzip"
我使用的命令是
s3cmd --add-header="Content-Encoding: gzip" --add-header="Cache-Control:public, max-age=86400" --add-header='Content-Type: application/javascript' --recursive put local remote_S3_bucket
标题已上传,但压缩文件以某种方式解压缩。我已尝试使用/不使用--no-preserve
标志以及标题的其他几种排列。
我也尝试对aws s3 cli做同样的事情,但似乎没有办法用这个工具添加"Content-Encoding: gzip"
标题。
今天应该使用什么工具(和版本以及源代码包管理器,github)来成功同步gzip压缩文件?
答案 0 :(得分:2)
当你下载它们时,它们会“以某种方式”被你的用户代理自动解压缩......因为当你用正确的标题存储gzip压缩内容时会发生所谓的,就像那些......检查AWS控制台中文件的大小,我希望您会发现存储的内容小于您下载的内容。
当您使用Content-Encoding: gzip
存储gzip压缩内容时,您也会删除.gz扩展名,因为当移交给最终用户时,最终下载的内容不再被gzip压缩,因为浏览器或wget等内容 - 如果你愿意的话,不要对它进行编码。
如果您只想将.gz文件放在那里作为.gz文件下载,请不要设置Content-Encoding。
答案 1 :(得分:1)
或者您可以使用Minio Client aka mc
如下所示的简单操作应该有效。
$ mc cat | gzip - | mc pipe s3/bucket/file
希望它有所帮助。
免责声明:我为Minio
工作