在 Amazon S3 中检查对象完整性
Amazon S3 在对象的存储生命周期中提供了一系列数据保护功能。通过 Amazon S3,可以使用校验和值来验证您上传或下载的数据的完整性。此外,可以请求为存储在 S3 中的任何对象计算另一个校验和值。
上传、复制或管理数据时,可以从几种支持的校验和算法中进行选择:
-
CRC-64/NVME (
CRC64NVME
)注意
CRC64NVME
校验和算法是用于校验和计算的默认校验和算法。 -
CRC-32 (
CRC32
) -
CRC-32C (
CRC32C
) -
SHA-1 (
SHA1
) -
SHA-256 (
SHA256
) -
MD5 (
MD5
)注意
对于分段上传,计算校验和操作使用
MD5
来提供完整对象校验和值,这在上传过程中是不可能的。对于单分段上传,content-MD5 header
仅在为对象使用 S3 ETag 时才可用,并且必须使用 SSE-S3 加密。
当将对象上传到 S3 时,可以指定使用这些校验和算法中的任何一种。对于上传,Amazon 拥有的所有客户端都会计算对象的校验和,然后将其与上传请求一起发送。然后,S3 在服务器端独立计算对象的校验和值,并使用提供的值对其进行验证,然后再存储对象和校验和值。当您执行单分段上传或分段上传时(对分段上传使用完整对象校验和类型),还可以为这些校验和算法提供预先计算的值。要将预先计算的值用于多个对象,请使用 Amazon CLI 或 Amazon SDK。
或者,如果您想在无需还原或下载数据的情况下验证 S3 中的数据集,则可以将计算校验和操作与 S3 批量操作结合使用。计算校验和操作支持您在一个任务请求中高效地验证数十亿个对象。执行计算校验和操作时,S3 会为一组静态对象计算校验和值。在任务请求结束时,您将收到一份自动生成的完整性报告(也称为完成报告),您可以使用该报告来确认数据集是否完好无损。