Amazon s3 如何在S3驱动器上以纯文本形式下载压缩内容?

Amazon s3 如何在S3驱动器上以纯文本形式下载压缩内容?,amazon-s3,compression,gzip,content-type,content-encoding,Amazon S3,Compression,Gzip,Content Type,Content Encoding,我将HTML数据存储在一个S3 bucket上,作为一个静态站点,以gzip格式存储。虽然我可以正确访问我的S3站点,并且浏览器知道如何解压缩它,但我无法使用AWS CLI下载它,因为下载的原始数据即使在复制到磁盘后仍保持gzip(而不是在下载后解压缩),因此在通过文本编辑器或浏览器打开时会出现乱码 我试图显式地传递内容编码,以将S3上的gzip内容转换为纯文本,但下载的文件似乎仍然具有gzip字节,而不是原始UTF-8。以下是我尝试过的命令: aws s3 cp s3://mys3bucket

我将HTML数据存储在一个S3 bucket上,作为一个静态站点,以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端解压是毫无意义的,因为这样你就必须传输更多的数据(解压版本)