【问题标题】:Uploading gzipped content to AWS S3 from command line.从命令行将 gzip 压缩的内容上传到 AWS S3。
【发布时间】:2013-09-05 16:25:32
【问题描述】:

我曾经使用过 s3cmd,后来我不得不将它升级到 1.5.0-alpha3 版本。我无法与标题 --add-header="Content-Encoding: gzip" 进行正确的 s3cmd 同步

我使用的命令是

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" 标头。

从今天开始应该使用什么工具(和版本以及来自哪个来源,即 os 包管理器、github)来成功同步 gzip 文件?

【问题讨论】:

    标签: amazon-web-services amazon-s3 s3cmd


    【解决方案1】:

    当您下载它们时,它们会“以某种方式”被您的用户代理自动解压缩...因为当您使用适当的标题存储压缩后的内容时,应该会发生这种情况...在 AWS 控制台中检查文件的大小,我希望您会发现您存储的内容小于下载的内容。

    当您使用 Content-Encoding: gzip 存储 gzip 后的内容时,您还会删除 .gz 扩展名,因为最终下载的内容在交给最终用户时不再 gzip,因为浏览器或 wget 等内容-un-如果愿意,可以对其进行编码。

    如果您只想将 .gz 文件作为 .gz 文件下载,请不要设置 Content-Encoding。

    【讨论】:

    • 我想把 gz 文件放在那里以非 gzip 格式下载。例如。 js 和 css 文件。该过程运行良好。唯一损坏的部分是 s3 命​​令行工具,它似乎用content-encoding:gzip 标头搞乱了上传
    【解决方案2】:

    您也可以使用Minio Client aka mc

    如下所示的简单操作应该可以工作。

    $ mc 猫 |压缩包 - | mc 管道 s3/桶/文件

    希望对你有帮助。

    免责声明:我为Minio工作

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-22
      • 2016-10-11
      • 2015-01-08
      • 1970-01-01
      • 2010-10-31
      • 1970-01-01
      • 2011-04-20
      • 1970-01-01
      相关资源
      最近更新 更多