.NET 记录Amazon上传S3异常问题
上传文件至S3,提示AmazonS3Exception异常:The provided 'x-amz-content-sha256' header does not match what was computed.确认了下,代码逻辑已经很久未动了。
没得办法,只能动用终极工具-二分查找,分段revert之前改动的代码,调试验证S3模块
回到半个月前的改动,发现S3上传逻辑是正常的。改动就是,升级了S3的亚马逊AWSSDK Nuget包。。。
使用Fiddler Http调试工具,看看request请求区别
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/让学习成为习惯,假设明天就有重大机遇等着你,你准备好了么本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! 东西不错很实用谢谢分享 yyds。多谢分享 谢谢分享,试用一下 感谢分享 前排留名,哈哈哈 热心回复! 分享、互助 让互联网精神温暖你我 感谢分享,下载保存了,貌似很强大 这个好,看起来很实用 yyds。多谢分享 前排留名,哈哈哈 喜欢鼓捣这些软件,现在用得少,谢谢分享! 收藏一下 不知道什么时候能用到 yyds。多谢分享 感谢分享 yyds。多谢分享 鼓励转贴优秀软件安全工具和文档! 过来提前占个楼 这个好,看起来很实用
页:
[1]
2