无法在AWS .NET SDK中找到凭据

时间:2016-03-16 17:01:50

标签: .net web-config aws-sdk

我正在尝试使用AWS .NET SDK创建一个Web应用程序。我在使用凭据文件时添加了凭据。在我的web.config中它看起来像这样。

<add key="AWSProfileName" value="profilename" />
<add key="AWSProfilesLocation" value="C:\AWS\credentials" />
<add key="AWSRegion" value="eu-west-1" />

我的凭据文件本身看起来像这样,它位于此路径C:\ AWS,它保存在标题credentials.txt

[myname]
aws_access_key_id = my key
aws_secret_access_key = my s key

根据此文档http://docs.aws.amazon.com/AWSSdkDocsNET/V2/DeveloperGuide/net-dg-config-creds.html,这是正确设置的。我已经设置了具有IAM管理员角色的配置文件,并且密钥都与创建时给出的密钥匹配。

然而,当我尝试创建一个EC2Client对象时,我遇到了这个错误

  

无法找到凭据

     

异常1:4:

     

System.ArgumentException:App.config不包含凭据   信息。添加AWSAccessKey和AWSSecretKey或   AWSProfileName。

     

在Amazon.Runtime.StoredProfileAWSCredentials..ctor(String   profileName,String profilesLocation)in   d:\詹金斯\ \工作建立-SDK-V2 \工作区\ SDK的\ src \ AWSSDK_DotNet35 \ Amazon.Runtime \ AWSCredentials.cs:行   318

     

在Amazon.Runtime.EnvironmentAWSCredentials..ctor()中   d:\詹金斯\ \工作建立-SDK-V2 \工作区\ SDK的\ src \ AWSSDK_DotNet35 \ Amazon.Runtime \ AWSCredentials.cs:行   590

     

在Amazon.Runtime.FallbackCredentialsFactory.b__1()中   d:\詹金斯\ \工作建立-SDK-V2 \工作区\ SDK的\ src \ AWSSDK_DotNet35 \ Amazon.Runtime \ AWSCredentials.cs:行   1117

     

在Amazon.Runtime.FallbackCredentialsFactory.GetCredentials(布尔   fallbackToAnonymous)in   d:\詹金斯\ \工作建立-SDK-V2 \工作区\ SDK的\ src \ AWSSDK_DotNet35 \ Amazon.Runtime \ AWSCredentials.cs:行   1137

我知道我可以将密钥硬编码到web.config或使用SDK存储,但我需要通过凭证文件来完成此操作。为什么我的代码找不到我的凭证文件?

1 个答案:

答案 0 :(得分:3)

需要将Credentials.txt从文本文件转换为通用Windows文件(.file),以便应用程序识别它。