Utilizo ampliamente S3 para almacenar copias de seguridad encriptadas y comprimidas de mis estaciones de trabajo. Utilizo el cli aws para sincronizarlos con S3. A veces, la transferencia puede fallar cuando está en curso. Por lo general, lo intento de nuevo y dejo que termine.

Mi pregunta es: ¿S3 tiene algún tipo de verificación para asegurarse de que la transferencia fallida anteriormente no dejó archivos corruptos? ¿Alguien sabe si sincronizar de nuevo es suficiente para corregir la transferencia fallida anteriormente?

¡Gracias!

1
FullOfCaffeine 14 feb. 2018 a las 06:21

2 respuestas

La mejor respuesta

Los archivos individuales cargados en S3 nunca se cargan parcialmente. O se completa todo el archivo y S3 almacena el archivo como un objeto S3, o se cancela la carga y el objeto S3 nunca se almacena.

Incluso en el caso de carga de varias partes, se pueden cargar varias partes, pero nunca forman un objeto S3 completo a menos que todas las piezas se carguen y se realice la operación "Carga completa de varias partes". Por lo tanto, no hay necesidad de preocuparse por la corrupción a través de cargas parciales.

Sin duda, la sincronización será suficiente para corregir la transferencia fallida anteriormente.

2
Peter Dolberg 15 feb. 2018 a las 01:11

Sí, parece que la AWS CLI valida lo que carga y se encarga de los escenarios de corrupción mediante el empleo de suma de comprobación MD5.

De https://docs.aws.amazon.com/cli /latest/topic/s3-faq.html

La AWS CLI realizará la validación de la suma de comprobación para cargar y descargar archivos en escenarios específicos. La AWS CLI calculará y completará automáticamente el encabezado Content-MD5 para cargas estándar y multiparte. Si la suma de comprobación que calcula S3 no coincide con el Content-MD5 proporcionado, S3 no almacenará el objeto y, en su lugar, devolverá un mensaje de error a la AWS CLI.

1
Relaxed Maverick 7 abr. 2019 a las 05:00