适用于 C++ 的 AWS 开发工具包:对 S3 传输进行完整性检查



我正在使用适用于C++的 AWS 开发工具包编写应用程序。 我想为 S3 传输启用完整性检查,即使是由于文件大小而需要多个请求的传输。 我该怎么做? C++ 版本的 AWS 开发工具包的文档很少。

我扫描了SDK的源代码,并在AmazonWebServiceRequest中找到了以下内容:

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

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

当我们讨论这个主题时,我宁愿使用相对较新的 SHA256 AWS 功能而不是 MD5,但在 C++ 开发工具包中,该哈希算法的钩子似乎更少。

谁能帮忙? 谢谢。

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

下面的链接讨论了更多关于电子标签的信息。

计算大于 5GB 的文件的 Amazon-S3 Etag 的算法是什么?

有关 ETag 标头的 S3 文档:

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

最新更新