尝试将文件发送到AWS S3时获取403

时间:2016-04-22 15:31:33

标签: .net amazon-web-services amazon-s3 aws-sdk

我有一个简单的应用程序来测试上传文件到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_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>

1 个答案:

答案 0 :(得分:0)

另外,请确保凭证文件中有[default]部分标题:

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