¿Cómo subir archivos grandes a S3 en una conexión débil?

9

Tengo un montón de archivos (entre 500 MB y 7 GB) que necesito cargados en un cubo S3. Mi conexión es muy escamosa.

Intenté cargar un archivo de 500 MB s3cmdpero se agotó el tiempo de espera después de que se completó en un 91% (lo que tomó 16 horas)

Lo intenté con CyberDuck, pero sucedió lo mismo. Falló después del 20% más o menos, y cuando intenté volver a intentar la transferencia, comenzó de nuevo desde el principio. Se supone que CyberDuck tiene soporte multiparte, pero supongo que no ...

Podría dividir los archivos en archivos más pequeños como este: ¿Cómo divido un archivo .zip en múltiples segmentos? , pero prefiero no hacerlo a menos que sea mi única opción. ¿Cuál es un buen programa que puedo usar que me permita cargar archivos grandes a S3 con soporte para reanudar?

usuario2254
fuente

Respuestas:

6

Acabo de intentar usar s3tools (s3cmd-1.5.0-rc1). Obtuve esta pista de sus preguntas frecuentes http://s3tools.org/kb/item13.htm . Vea abajo.

¿S3cmd admite cargas de varias partes?

Sí, la última versión de s3cmd admite cargas de varias partes de Amazon S3.

Las cargas de varias partes se usan automáticamente cuando un archivo para cargar es mayor de 15 MB. En ese caso, el archivo se divide en varias partes, con cada parte de 15 MB de tamaño (la última parte puede ser más pequeña). Cada parte se carga por separado y luego se reconstruye en el destino cuando se completa la transferencia.

Con esta nueva característica, si falla la carga de una parte, se puede reiniciar sin afectar ninguna de las otras partes ya cargadas.

Hay dos opciones relacionadas con las cargas de varias partes en s3cmd. Son:

--disable-multipart

Deshabilita las cargas de varias partes para todos los archivos

y

--multipart-chunk-size-mb = TAMAÑO

Tamaño de cada fragmento de una carga multiparte. Los archivos más grandes que SIZE se cargan automáticamente como multithreaded-multipart, los archivos más pequeños se cargan utilizando el método tradicional. El TAMAÑO está en megabytes, el tamaño de fragmento predeterminado es de 15 MB, el tamaño de fragmento mínimo permitido es de 5 MB, el máximo es de 5 GB.

Entonces, cuando subo, elijo el tamaño de fragmento más pequeño. Debería ver a continuación la división y reanudación de la carga.

$ 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!

Entonces reanudo.

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

Creo en Cyberduck en la ventana de transferencias, puede hacer clic derecho y seleccionar reanudar.

Si eso no funciona, Cloudberry admite reanudar las cargas

ernie
fuente
Por alguna razón en Cyberduck, mi currículum no funciona para S3 de varias partes. ¿Alguna pista?
f01
2

Puede usar FileZilla Pro para transferir archivos hacia y desde un depósito S3. FileZilla Pro admite la carga de varias partes y, en caso de falla, reanudará la transferencia.

Para los registros, viene con muchas otras características: compatibilidad con archivos grandes, transferencias masivas, filtros, comparación de directorios, búsqueda remota de archivos, arrastrar y soltar, configuración de límites de velocidad.

Soy miembro del equipo de FileZilla Pro.

Obtenga más información en https://filezillapro.com y en https://youtube.com/c/FileZillaPro

josuegomes
fuente
Tenga en cuenta que si está afiliado de alguna manera con el producto, debe revelarlo en su respuesta.
confeti
@confetti, lo siento, no lo sabía. No pude encontrar nada específico en la ayuda o en el código de conducta. En realidad supuse que estaba prohibido. Agregó la información.
josuegomes
No hay problema, tampoco puedo encontrarlo en el texto de ayuda, así que tal vez sea algo que los mods deberían agregar, ¡pero definitivamente está permitido! Incluso podría ser mejor en general, ya que las personas saben que pueden preguntar algo específico del software en los comentarios y recibir una especie de respuesta "oficial". :)
confeti