如何从S3预先指定的URL (Amazon feed API)下载提要处理报告?



我使用下面的代码步骤6从链接开始https://github.com/amzn/selling的合作伙伴- api - docs/blob/main/guides/use - - guides/feeds - api -使用-案件-指导- 2020 - 09 - 04. - md # step-5-get-information-for-retrieving-the-feed-processing-report

string path = Path.GetTempPath();
IRestRequest restRequest = new RestRequest(Method.GET);        
RestClient restClient = new RestClient(presignedurl);
byte[] response = restClient.DownloadData(restRequest);            
File.WriteAllBytes(@path + "\words123.txt"  , response);

txt文件返回签名不匹配错误

SignatureDoesNotMatch我们计算的请求签名与您提供的签名不匹配。检查您的密钥和签名方法。AWS4-HMAC-SHA25620210127 t204937z20210127/一来s3/aws4_request41 57 53 34 2 d 48 4 d 41 43 2 d 53 48 41 32 35 36 0 32 30 32 31 30 31 32 37 54 32 30 34 39 33 37 5 0 32 32 31 30 31 32 37 2 f 65 75 2 d 77 65 73 74 2 d 31 61 77 73 73 33 2 f 34 5 f 72 65 71 75 65 73 74 0 64 66 34 62 62 66 61 65 66 64 66 34 30 39 30 36 38 64 32 31 37 64 33 35 62 39 30 64 39 39 38 65 62 64 61 37 39 31 61 64 65 33 66 38 36 66 32 38 61 30 64 34 65 62 34 35 37 65 66 63 62 37 33//NinetyDays/amzn1.tortuga.3.3bec27f6 e87b - 493 - ae7f fab8a639382f.t2p4950aswh2iaX-Amz-Algorithm = AWS4-HMAC-SHA256& X-Amz-Credential = % 2 f20210127 % 2 feu-west-1 % 2 fs3 % 2 faws4_request& X-Amz-Date = 20210127 t204937z& X-Amz-Expires = 300, X-Amz-SignedHeaders bhost = - type % 3内容类型:主持人:龟岛-刺激eu.s3 -欧盟-西方- 1. - amazonaws.com内容类型,主机54 UNSIGNED-PAYLOAD47 45 0 2 2 f 4 e 69 6 e 44 65 74 79 61 79 73 61 6 f d 7 6 e 31 2 e 74 6 f 33 72 74 75 67 61 2 e 2 e 33 62 65 63 32 37 66 36 2 d 65 38 37 62 2 d 34 39 33 61 2 d 61 65 66 2 d 61 36 33 66 61 62 74 2 d 31 2 e 61 6 d 61 7 6 f 6 e 61 77 73 63 6 f 6 d e 0 0 63 6 f e 74 65 6 e 74 2 d 74 79 70 65 3 b 68 6 f 73 74 0一个55 4 e 53 49 47 4 e 45 44 2 d 50 41 59 4 c f 41 44 dd34a4a3a3cc0692akcloh5jblzkuaokbja9hfvolykjt + SG6E + oMy1pDHRhS7miIYw6/91bBN4eJCuGp9fkpTiEcPg =

Just for security purposes always redact the names of the private resource like in this acute case your s3 bucket name

从错误看来,你的presignedUrl是不正确的。

X-Amz-SignedHeaders=content-type%3Bhost content-type: host:tortuga-prod-eu.s3-eu-west-1.amazonaws.com content-type;host UNSIGNED-PAYLOAD47 45 54 0a

本指南使用Signature Version 4签名AWS请求可以帮助您一步一步地签名请求,以了解该过程。最后,您将得到如下URL:

https://iam.amazonaws.com?Action=ListUsers&版本= 2010 - 05 - 08 -,X-Amz-Algorithm = AWS4-HMAC-SHA256& X-Amz-Credential = AKIDEXAMPLE % 2 f20150830 % 2 fus-east-1 % 2 fiam % 2 faws4_request& X-Amz-Date = 20150830 t123600z& X-Amz-Expires = 60, X-Amz-SignedHeaders = - type % 3 bhost& X-Amz-Signature = 37 ac2f4fde00b0ac9bd9eadeb459b1bbee224158d66e7ae5fcadb70b2d181d02

不确定是否勾选了这个生成预先指定的对象URL,这是java的一个很好的例子。

最新更新