Comprimir o ficheiro em S3

Tenho um ficheiro de 17,7 GB no S3. Foi gerado como a saída de uma consulta da colmeia, e não é comprimido.

Eu sei que ao comprimi-lo, será cerca de 2,2 GB (gzip). Como posso baixar este arquivo localmente o mais rápido possível quando a transferência é o gargalo (250kB/s).

Eu não encontrei nenhuma maneira direta de comprimir o arquivo em S3, ou permitir a compressão em transferência em s3cmd, boto, ou ferramentas relacionadas.

Author: Matt Joiner, 2013-01-24

2 answers

O S3 não suporta a compressão de fluxo nem é possível comprimir o ficheiro carregado remotamente.

Se este é um processo único, sugiro que o faça baixar para uma máquina EC2 na mesma região, comprimi-lo lá, e depois carregar para o seu destino.

Http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html

Se precisar disto com mais frequência

Serving gzipped CSS and JavaScript from Amazon CloudFront via S3

 18
Author: Michel Feldheim, 2017-05-23 12:18:14
Resposta tardia, mas achei isto a funcionar perfeitamente.
aws s3 sync s3://your-pics .

for i in `find | grep -E "\.jpg$|\.jpg$"`; do gzip  "$i" ; echo $i;  done

aws s3 sync . s3://your-pics --content-encoding gzip --dryrun

Isto irá transferir todos os ficheiros no balde s3 para a máquina (ou instância ec2), comprimir os ficheiros de imagem e enviá-los de volta para o balde s3. Verifique os dados antes de remover a bandeira dryrun.

 3
Author: Navaneeth Pk, 2017-12-04 13:27:38