¿AWS cli realiza una verificación de integridad de los datos al sincronizar con s3?

¿AWS cli realiza una verificación de integridad de los datos al sincronizar con s3?

He estado investigando el uso de AWS cli para realizar comprobaciones de integridad de datos para verificar que una copia de seguridad se haya transferido correctamente desde un servidor de archivos Linux a AWS s3. Asimismo, me gustaría verificar que al restaurar un archivo desde la copia de seguridad al servidor de archivos de Linux también se haya transferido correctamente.

Examiné la etiqueta etag almacenada con el objeto en S3, porque parece ser una suma md5. Sin embargo, si el archivo se transfiere como de varias partes en el caso de archivos grandes, la etiqueta etag ya no es válida.

Pero antes de seguir intentando hacer una suma MD5 de lo que se acaba de sincronizar con S3 cada vez, ¿es realmente necesario hacer esto? Cuando se utiliza rsync entre sistemas de archivos Linux a través de Internet, no es una práctica común realizar una suma md5 en los archivos transferidos para verificarlos. ¿Porque se supone que creo que rsync ya se ha encargado de esto?

Entonces me pregunto: ¿AWS cli sync ya se encarga de la verificación de integridad de los datos por nosotros?

Respuesta1

La respuesta corta es sí, aws s3 syncy aws s3 cpcalcula una suma de comprobación MD5 y, si no coincide, cuando se complete la carga, lo volverá a intentar hasta cinco veces.

La respuesta más larga:

La AWS CLI calculará y completará automáticamente el encabezado Content-MD5 para cargas estándar y de varias partes. 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 CLI de AWS. La AWS CLI volverá a intentar este error hasta 5 veces antes de darse por vencido.

Si la solicitud está firmada con un Signature Version 4entonces no se calcula la suma de verificación MD5.

Tenga en cuenta que la AWS CLI agregará un encabezado Content-MD5 tanto para los comandos de alto nivel de AWS s3 que realizan cargas (aws s3 cp, aws s3 sync) como para los comandos de bajo nivel de s3api, incluidos aws s3api put-object y aws s3api upload. -parte.

Referencia

Preguntas frecuentes sobre AWS CLI S3

información relacionada