Como fazer upload de arquivos grandes para o S3 em uma conexão instável?

Como fazer upload de arquivos grandes para o S3 em uma conexão instável?

Tenho vários arquivos (entre 500 MB e 7 GB) que preciso carregar em um bucket S3. Minha conexão é muito instável.

Tentei fazer upload de um arquivo de 500 MB, s3cmdmas o tempo limite expirou depois de 91% concluído (o que levou 16 horas)

Tentei com o CyberDuck, mas aconteceu o mesmo. Ele falhou depois de 20% ou mais e, quando tentei tentar novamente a transferência, ela recomeçou desde o início. Supõe-se que o CyberDuck tenha suporte multipartes, mas acho que não...

Eu poderia dividir os arquivos em arquivos menores como este:Como divido um arquivo .zip em vários segmentos?, mas prefiro não, a menos que seja minha única opção. Qual é um bom programa que posso usar e que me permitirá fazer upload de arquivos grandes para o S3 com suporte para currículo?

Responder1

Acabei de tentar usar o s3tools (s3cmd-1.5.0-rc1). Recebi esta dica do FAQ deleshttp://s3tools.org/kb/item13.htm. Veja abaixo.

O s3cmd suporta uploads multipartes?

Sim, a versão mais recente do s3cmd oferece suporte a multipart uploads do Amazon S3.

Multipart uploads são usados ​​automaticamente quando um arquivo para upload é maior que 15 MB. Nesse caso, o arquivo é dividido em várias partes, cada parte com 15 MB de tamanho (a última parte pode ser menor). Cada parte é então carregada separadamente e reconstruída no destino quando a transferência for concluída.

Com esse novo recurso, se o upload de uma peça falhar, ela poderá ser reiniciada sem afetar nenhuma das outras partes já carregadas.

Existem duas opções relacionadas a multipart uploads no s3cmd. Eles são:

--disable-multipart

Desative multipart uploads para todos os arquivos

e

--multipart-chunk-size-mb=TAMANHO

Tamanho de cada parte de um multipart upload. Arquivos maiores que SIZE são carregados automaticamente como multithreaded-multipart, arquivos menores são carregados usando o método tradicional. SIZE está em Mega-Bytes, o tamanho padrão do bloco é 15 MB, o tamanho mínimo permitido do bloco é 5 MB e o máximo é 5 GB.

Então, quando faço o upload, escolho o menor tamanho do pedaço. Você deverá 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 retomo.

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

Responder2

Acredito no Cyberduck na janela de transferências, você pode clicar com o botão direito e selecionar retomar.

Se isso não funcionar,Amora silvestreapoia a retomada de uploads

Responder3

Você pode usar o FileZilla Pro para transferir arquivos de e para um bucket S3. FileZilla Pro suporta multipart upload e em caso de falha irá retomar a transferência.

Para os registros, ele vem com muitos outros recursos: suporte a arquivos grandes, transferências em massa, filtros, comparação de diretórios, pesquisa remota de arquivos, arrastar e soltar, configuração de limites de velocidade.

Sou membro da equipe FileZilla Pro.

Saiba mais emhttps://filezillapro.come emhttps://youtube.com/c/FileZillaPro

informação relacionada