概览
Amazon S3 提供多种校验和选项,以加速数据完整性检查。这些功能在客户上传对象时计算文件的校验和。将大量数据迁移到 Amazon S3 的客户希望执行这些完整性检查,以此作为持久性最佳实践,并确认每个字节都是在不更改的情况下传输的。这使客户能够保持端到端的数据完整性。校验和是在上传对象的那一刻创建的,并在对象的整个生命周期内保持不变。下载对象时,最后会验证相同的校验和,以提供端到端的数据完整性。Amazon S3 支持的额外算法包括:SHA-1、SHA-256、CRC32 和 CRC32-C。借助这些新的数据完整性检查功能,您可以验证您的文件在数据传输期间或上传或下载过程中是否未被更改。
您将学到的内容
- 将文件上传到 Amazon S3
- 比较 Amazon S3 上与您的本地文件的校验和以验证数据完整性
先决条件
实施
第 1 步:创建 Amazon S3 存储桶
第 2 步:上传文件并指定校验和算法
如果您的对象小于 16MB,并且您已经计算出 SHA-256 校验和(base64 编码),则可以在“预先计算的值”输入框中提供该校验和。要将此功能用于大于 16MB 的对象,您可以使用 CLI 或 SDK。当 Amazon S3 收到对象时,会使用指定的算法计算校验和。如果校验和值不匹配,Amazon S3 会生成错误并拒绝上传,如屏幕截图所示。
第 3 步:验证校验和
第 4 步:清理
- 4.2 – 删除测试存储桶
- 最后,您需要删除已创建的测试存储桶。回到您的账户中的存储桶列表。选择为本教程创建的存储桶左侧的单选按钮,然后选择删除按钮。查看警告消息。如果要继续删除此存储桶,请在删除存储桶确认框中输入存储桶的名称,然后选择删除存储桶。
结论
后续步骤
要了解有关校验和的更多信息,请访问以下资源。
Amazon S3 还引入了结尾校验和,这是 AWS SDK 的一项新功能。使用结尾校验和,SDK 会在将您的文件上传到 Amazon S3 时一次性计算校验和。在 Building scalable checksums 博客文章中阅读有关该功能的更多信息。