【发布时间】:2020-02-04 05:24:32
【问题描述】:
我已经设置了一个 cloudwatch 日志组,通过 kinesis 和 firehose 将日志流式传输到 s3 存储桶中,作为 gzip 文件。
gzip 文件都带有一些元数据标记:
Content-Encoding gzip
Content-Type application/octet-stream
当我直接从浏览器控制台下载其中一个文件并解压缩时,我会得到一个日志文件的预期内容,即 json 字符串。但是,如果我使用 aws CLI 在本地 cp 文件并解压缩内容,则文件会在终端呈现为二进制文件。
AWS 控制台下载按钮和 AWS CLI s3 cp 命令之间的行为差异可能是什么原因?
我已经尝试过指定命令行标志的各种组合
aws s3 cp --content-encoding gzip --content-type "application/json"
aws s3 cp --content-encoding gzip --content-type "application/octet-stream"
aws s3 cp --content-encoding gzip --content-type "application/octet-stream" --sse-kms-key-id <keyArn>
但是它们都没有产生我在浏览器中使用控制台得到的积极结果。
更新
该文件的 s3 cli 版本几乎比管理控制台版本大 10KB。
【问题讨论】:
-
我尝试使用
cp下载文件,一切顺利 -aws s3 cp s3://${MY_BUCKET}/test.txt.gz test.txt.gz -
@AmitBaranes 感谢您的回复。但是,下载不是问题。问题是
gunzip在本地应用后的编码(下载后)。
标签: amazon-web-services amazon-s3 aws-cli