为 AWS S3 对象启用自动校验和

问题描述 投票:0回答:1

AWS 使用 SHA、CRC 发布了额外的校验和完整性验证。 在他们的 put 方法中,我们可以指定校验和算法和一个可选的预先计算的校验和来验证它。

我想知道在使用预签名 url 时是否可以实现相同的功能。 我不想预先计算 SHA256 校验和,但我希望 AWS 像它一样自动计算和存储它,而不是强迫我发送预先计算的校验和。

我写了下面的代码来生成预签名的 URLs

url = self.s3.generate_presigned_url('put_object',
                                             Params={
                                                 'Bucket': self.bucket_name,
                                                 'Key': key,
                                                 'ChecksumAlgorithm': 'sha256',
                                                 'ChecksumSHA256': 'None'
                                             },
                                             ExpiresIn=expiration)

使用上面的代码生成了 URL,但是在 PUT 上它要求我提供预先计算的 sha256 标头。 有什么办法可以避免这种行为吗?

amazon-web-services amazon-s3 file-upload pre-signed-url
1个回答
0
投票

AWS“自动计算和存储”的唯一方法是在上传操作之后。这没有任何意义,因为您首先要确保原始文件已正确上传到 AWS。这意味着您必须在上传操作之前计算校验和。在您上传到 AWS 之前,AWS 不知道您上传了什么。

© www.soinside.com 2019 - 2024. All rights reserved.