amazon-s3 - 如何以纯文本格式下载 S3 驱动器上的压缩内容?
问题描述
我将 HTML 数据存储在 S3 存储桶中,该存储桶用作以 gzip 压缩格式存储的静态站点。虽然我可以正确访问我的 S3 站点并且浏览器知道解压缩它,但我无法使用 AWS CLI 下载它,因为即使在复制到磁盘之后,下载的原始数据仍然是 gzip 压缩的(而不是在下载后解压缩),因此通过文本编辑器或浏览器打开时出现乱码。
我尝试显式传递内容编码以将 S3 上的 gzip 内容转换为纯文本,但下载的文件似乎仍然具有 gzip 字节而不是原始 UTF-8。这是我尝试过的命令:
aws s3 cp s3://mys3bucket.com/index.html ./test.html --content-encoding "gzip" --content-type "text/html"
解决方案
下载后(或同时),您可以自己解压缩数据。如果您使用的是 Unix 变体,这将通过管道输出来完成,zcat
如下所示:
aws s3 cp s3://mys3bucket.com/index.html ./test.html --content-encoding "gzip" --content-type "text/html" | zcat
您还可以将数据存储在文件中,然后将其解压缩。
在 S3 端解压缩它是无稽之谈,因为那样你就必须传输更多数据(未压缩版本)。
推荐阅读
- android - 如何在 Android 中为媒体播放器重置 SeekBar
- java - Spring Data JPA 是否有任何方法可以使用方法名称解析来汇总实体列?
- javascript - 单击时将整数变量增加一
- spring - 从 1.5 升级后 Spring boot 2 @Query 命名参数绑定值解析搞砸了
- android - 在不使用 setEnabled 属性的情况下禁用按钮
- ios - 设置自定义 UIView 的不同水平对齐方式
- excel - 总结测试的分数
- typescript - 如何将小数转换为最接近的分数
- javascript - 如何将后端连接到服务器前端以使用 socket.io 与不同用户进行实时聊天
- jquery - 编辑此选择模板,以便在下拉 jquery 样式选择中将样式添加到特定单词内部选项