【问题标题】:Getting 403 when trying to send a file to AWS S3尝试将文件发送到 AWS S3 时出现 403
【发布时间】: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_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>

【问题讨论】:

  • 您能否再次检查您的凭据在这两种情况下是否完全相同?错误复制凭据非常容易。

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2022-01-15
    • 2015-10-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-17
    • 2021-09-10
    • 1970-01-01
    • 2019-11-18
    • 2016-01-23
    相关资源
    最近更新 更多