我广泛使用S3来存储我的工作站的加密和压缩备份。我使用aws
cli将它们同步到S3。有时,传输可能会在进行中失败。我通常只是重试它并让它完成。
我的问题是:S3是否进行了某种检查以确保先前失败的传输没有留下损坏的文件?有谁知道再次同步是否足以修复以前失败的转移?
谢谢!
上传到S3的单个文件永远不会部分上传。整个文件完成并且S3将文件存储为S3对象,或者中止上载并且永远不存储S3对象。
即使在多部分上传的情况下,也可以上传多个部分,但它们永远不会形成完整的S3对象,除非上传所有部分并执行“完成分段上传”操作。因此,无需担心通过部分上传导致的损坏。
同步肯定足以修复先前失败的转移。
是的,看起来AWS CLI确实通过使用MD5校验和来验证它上传的内容并处理损坏情况。
来自https://docs.aws.amazon.com/cli/latest/topic/s3-faq.html
AWS CLI将执行校验和验证,以便在特定方案中上载和下载文件。 AWS CLI将为标准和分段上传计算并自动填充Content-MD5标头。如果S3计算的校验和与提供的Content-MD5不匹配,则S3将不存储该对象,而是将返回AWS CLI的错误消息。