【发布时间】:2016-08-16 07:47:06
【问题描述】:
我有一个简单的应用程序来测试将文件上传到 ASW S3
public static void Main(string[] args)
{
string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + filename;
client = new AmazonS3Client();
PutObjectRequest request = new PutObjectRequest()
{
BucketName = bucketName,
Key = keyName,
InputStream = new MemoryStream(ReadFile(path))
};
PutObjectResponse response2 = client.PutObject(request);
}
还有我的 app.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="AWSRegion" value="eu-west-1" />
<add key="AWSProfileName" value="default"/>
<add key="AWSProfilesLocation" value="C:\aws_service_credentials\credentials_two.txt"/>
</appSettings>
</configuration>
我收到了错误
The AWS Access Key Id you provided does not exist in our records. (403 Forbidden)
当我运行我的应用程序时。
奇怪的是它直到最近才正常工作。
我还有一个 aws 控制台应用程序,它向您显示一个向导,允许您输入您的凭据 aws_access_key_id 和 aws_secret_access_key。
奇怪的是,这个 aws 控制台应用程序在发送文件时工作正常并且不显示 403 错误。
我的包文件
<packages>
<package id="AWSSDK.Core" version="3.1.5.3" targetFramework="net45" />
<package id="AWSSDK.S3" version="3.1.5.0" targetFramework="net45" />
</packages>
【问题讨论】:
-
您能否再次检查您的凭据在这两种情况下是否完全相同?错误复制凭据非常容易。
标签: .net amazon-web-services amazon-s3 aws-sdk