S3 にあるファイルを EC2 などにファイルをまるまるダウンロードせずに圧縮して S3 にアップロードしたい場合、パイプで繋いでやればよい。
例
- EC2 のローカルのファイルを圧縮しながら S3 にアプロードする(圧縮したファイルを EC2 にローカルに保存せずに)
$ gzip -c LICENSE.txt | aws s3 cp - s3://<bucket-name>/upload/LICENSE.gz
- S3 からファイルをダウンロードしながら圧縮して S3 にアップロードする(一時的に EC2 のローカルに保存せずに)
$ aws s3 cp s3://<bucket-name>/download/LICENSE.txt -|gzip -c|aws s3 cp - s3://<bucket-name>/upload/LICENSE_s3.gz