我在 Linux 中使用
aws s3 cp s3://source_bucket/stdout.gz s3://target_bucket/stdout.txt
将此日志文件复制到另一个 s3 位置。如果我将该文件下载到我的 Windows 文件夹中,则该 txt 文件的内容格式看起来与您在 emr 步骤界面中查看 stdout 时看到的完全一样。我只是用 Windows 原生记事本应用程序打开它
但是当我使用Windows cmd中的命令将此文件同步到我的Windows目录时:
aws s3 sync s3://target_bucket/stdout.txt c://myfolder/stdout.txt
并再次用记事本打开它时,我看到所有乱七八糟的不可读字符。
我尝试使用
--content-encoding gzip and --content-type text/plain
选项,但没有成功。
aws s3 cp
命令在后台使用S3 API,它支持多种常见压缩类型(如gzip、bzip2、zip等)的透明解压。这是为了方便下载压缩文件,而无需先手动解压它们.
aws s3 sync
命令与复制不同,它对目录进行操作,并尝试通过解压缩文件来提供帮助。我建议尝试同步整个目录或定位目录中的特定文件,例如aws s3 sync s3://target_bucket c:\myfolder\target --include 'stdout.txt'
。