gpt4 book ai didi

c# - 尝试访问 Amazon s3 上的文件时出现 SignatureDoesNotMatch 错误

转载 作者:太空宇宙 更新时间:2023-11-03 16:01:26 31 4
gpt4 key购买 nike

我正在尝试使用 GetPreSignedUrlRequest 方法访问已上传到 Amazon S3 的文件。我使用的代码如下:-

string bucketName = string.Empty;
if (ConfigurationManager.AppSettings["S3BucketName"] != null)
{
bucketName = ConfigurationManager.AppSettings["S3BucketName"].ToString();
}
AmazonS3Client s3Client = new AmazonS3Client(Amazon.RegionEndpoint.USEast1);
GetPreSignedUrlRequest request = new GetPreSignedUrlRequest
{
BucketName = bucketName,
Key = file.FileName,
Expires = DateTime.Now.AddMinutes(5),
Protocol = Protocol.HTTP
};
string url = s3Client.GetPreSignedURL(request);

由此生成的 url 然后用于指向文件。看起来像 http://s3.amazonaws.com/mybucketname/VZcbKsZgR2qyOMkLU1XT_jquery_ui_touch-punch_min_js.txt?X-Amz-Expires=300&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIMGQJ6D5L5SNBGHA/20140114/us-east-1/s3/aws4_request&X-Amz-Date=20140114T194159Z&X-Amz-SignedHeaders=host&X-Amz-Signature=922719dd2286600aebaca5701a8e142d327342b541569c9a4d7d8afc822d9a76/VZcbKsZgR2qyOMkLU1XT_jquery_ui_touch-punch_min_js.txt

但这给了我签名不匹配错误,如下图所示:-

Signature does not match

最佳答案

更新 - 1 月 16 日发布的 SDK 版本 2.0.6 包含针对此问题的修复。

您的代码没有问题,不幸的是 SDK 中的错误导致预签名 url 格式错误。我刚刚用我们最新的代码库测试了它,我们已经解决了这个问题;这个新版本应该很快就会发布。

一旦我们发布补丁,我会解决这个问题。很抱歉给您带来不便。

问候,

关于c# - 尝试访问 Amazon s3 上的文件时出现 SignatureDoesNotMatch 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21123181/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com