找回密码
 立即注册
首页 业界区 业界 .NET 记录Amazon上传S3异常问题

.NET 记录Amazon上传S3异常问题

申倩语 昨天 20:30
上传文件至S3,提示AmazonS3Exception异常:The provided 'x-amz-content-sha256' header does not match what was computed.
1.png

确认了下,代码逻辑已经很久未动了。
没得办法,只能动用终极工具-二分查找,分段revert之前改动的代码,调试验证S3模块
回到半个月前的改动,发现S3上传逻辑是正常的。改动就是,升级了S3的亚马逊AWSSDK Nuget包。。。
2.png

使用Fiddler Http调试工具,看看request请求区别
3.png

x-amz-content-sha256这个参数,旧版本是STREAMING-AWS4-HMAC-SHA256-PAYLOAD,新版本增加了TRAILER后缀
俩者均是用于设置文件分块上传,区别在于是否支持在请求末尾动态添加元数据(Trailer)
STREAMING-AWS4-HMAC-SHA256-PAYLOAD-TRAILER在传输完成后附加动态元数据,可以支持校验以及加密信息
x-amz-content-sha256参数是由S3部署服务器配置的,所以应该是.NET使用的AWSSDK.S3与S3服务器配置协议不匹配。
而我.NET代码中并未设置这类Headers参数。也就是AWSSDK.S3新版本,Stream类文件上传将默认headhers参数修改了。。。
找了下Github,AWSSDK未开源。但也有同学反馈新S3 SDK修改header参数问题:Support STREAMING-AWS4-HMAC-SHA256-PAYLOAD-TRAILER signature in S3 PUT · Issue #9263 · getmoto/moto
所以, 不动S3服务器的情况下,.NET我回退AWSSDK.S3的Nuget版本3.7.400.3 解决此问题
出处:http://www.cnblogs.com/kybs0/让学习成为习惯,假设明天就有重大机遇等着你,你准备好了么本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册