Como fazer upload de arquivos grandes para o S3 em uma conexão escamosa?

8

Eu tenho um monte de arquivos (entre 500MB e 7GB) que preciso carregar em um bucket do S3. Minha conexão é muito esquisita.

Eu tentei fazer o upload de um arquivo de 500 MB via s3cmd , mas ele atingiu o tempo limite após ter concluído 91% (o que levou 16 horas)

O que eu tentei com o CyberDuck, mas o mesmo aconteceu. Ele falhou depois de 20% ou mais, e quando tentei repetir a transferência, recomeçou desde o início. O CyberDuck deve ter suporte a várias partes, mas acho que não ...

Eu poderia dividir os arquivos em arquivos menores como este:

    
por user2254 01.01.2013 / 22:57

2 respostas

6

Eu apenas tentei usar s3tools (s3cmd-1.5.0-rc1). Recebi esta dica do seu link de perguntas frequentes. Veja abaixo.

Does s3cmd support multipart uploads?

Yes, the latest version of s3cmd supports Amazon S3 multipart uploads.

Multipart uploads are automatically used when a file to upload is larger than 15MB. In that case the file is split into multiple parts, with each part of 15MB in size (the last part can be smaller). Each part is then uploaded separately and then reconstructed at destination when the transfer is completed.

With this new feature, if an upload of a part fails, it can be restarted without affecting any of the other parts already uploaded.

There are two options related to multipart uploads in s3cmd. They are:

--disable-multipart

Disable multipart uploads for all files

and

--multipart-chunk-size-mb=SIZE

Size of each chunk of a multipart upload. Files bigger than SIZE are automatically uploaded as multithreaded-multipart, smaller files are uploaded using the traditional method. SIZE is in Mega-Bytes, default chunk size is 15MB, minimum allowed chunk size is 5MB, maximum is 5GB.

Então, quando eu fizer o upload, escolho o menor tamanho de bloco. Você deve ver abaixo a divisão e a retomada do upload.

$ s3cmd put --multipart-chunk-size-mb=5 some_video.mp4 s3://some_bucket/

some_video.mp4 -> s3://some_bucket/some_video.mp4  [part 1 of 52, 5MB]
 5242880 of 5242880   100% in  164s    31.08 kB/s  done
some_video.mp4 -> s3://some_bucket/some_video.mp4  [part 2 of 52, 5MB]
 5242880 of 5242880   100% in  193s    26.46 kB/s  done
some_video.mp4 -> s3://some_bucket/some_video.mp4  [part 3 of 52, 5MB]
 2023424 of 5242880    38% in  135s    14.59 kB/s^CERROR: 
some_video.mp4' part 3 failed. Use
  /usr/local/bin/s3cmd abortmp s3://some_bucket/some_video.mp4 XXX_SOME_HASH_XXX
to abort the upload, or
  /usr/local/bin/s3cmd --upload-id XXX_SOME_HASH_XXX put ...
to continue the upload.
See ya!

Então eu continuo.

/usr/local/bin/s3cmd --upload-id XXX_SOME_HASH_XXX put --multipart-chunk-size-mb=5 some_video.mp4 s3://some_bucket/
    
por 20.12.2014 / 02:21
2

Eu acredito no Cyberduck na janela de transferências, você pode clicar com o botão direito e selecionar o currículo.

Se isso não funcionar, o Cloudberry suporta retomar os uploads

    
por 01.01.2013 / 23:09