2016-04-22 64 views
1

我有一个简单的应用程序来测试文件上传到ASW S3获得403试图将文件发送到AWS 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_idaws_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> 
+0

你能仔细检查您的凭据是完全两种情况下都一样吗?错误复制证书非常容易。 –

回答

0

此外,还要确保有在凭证的[默认]节标题文件:

[default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

相关问题