AWS SDK for C ++:S3传输的完整性检查

时间:2017-08-13 21:46:24

标签: c++ amazon-web-services amazon-s3

我正在使用AWS SDK for C ++编写应用程序。我想为S3传输启用完整性检查,甚至是由于文件大小而需要多个请求的传输。 我怎样才能做到这一点? AWS SDK的C ++版本的文档很少。

我将源代码扫描到SDK并在AmazonWebServiceRequest中找到了它:

inline virtual bool ShouldComputeContentMd5() const { return false; }

但我不清楚如何让S3类使用此类的重写版本。

虽然我们讨论这个主题,但我宁愿使用相对较新的SHA256 AWS功能而不是MD5,但C ++ SDK中的哈希算法似乎更少了。

有人可以帮忙吗?感谢。

1 个答案:

答案 0 :(得分:0)

S3具有Etag功能。部分或完全上传对象后,您可以从S3 API调用中获取Etag并从其标题中读取Etag。

以下链接详细讨论了etags。

What is the algorithm to compute the Amazon-S3 Etag for a file larger than 5GB?

ETag标题上的S3文档:

http://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonResponseHeaders.html