S3 boto3 复制对象验证。

0

【以下的问题经过翻译处理】 客户计划使用boto3构建一个工具,用于在存储桶之间执行copy_object操作。他们提出以下问题:

  1. 在s3到s3复制过程中可能导致静默数据损坏的原因是什么?
  2. 是否有内部机制可以检测此类损坏?如果有,它会透明地处理还是向客户返回错误,并期望其重试?
  3. 如果没有内部机制,该工具如何执行验证以确认未发生此类损坏?

我很乐意听取第1和第2个问题的建议。

对于第3个问题,我的理解是:

  1. 没有加密或使用SSE-S3

如果文件作为单个上传存储,或者在复制操作期间使用了相同数量和大小的块,则ETag应保持不变。

  1. 使用KMS加密

与上述相同,假设使用了相同的KMS密钥。如果密钥不同,则内容将不同。

总是有一个下载文件并计算校验和的选项,但这是最慢和最昂贵的选项。

profile picture
专家
已提问 5 个月前12 查看次数
1 回答
0

【以下的回答经过翻译处理】 1. 在任何数据存储系统中,都存在数据退化或位错误的可能性。但是,S3可以提供11个9的耐久性,使得此类可能性极低。这意味着如果在S3中存储了1000万个对象,平均而言每10000年可能会丢失一个对象。可以通过定期恢复测试和使用跨区域复制添加另一个备份来减轻这种风险。

  1. 是的,S3服务运行校验和和CRC检查以检测和修复任何损坏。这是在后台自动完成的,客户端不会收到任何错误提示。更多细节可参考此处。

  2. 请参考我上方的评论。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则