我正在尝试使用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:\Jenkins\jobs\build-sdk-v2\workspace\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\AWSCredentials.cs:line 318
在Amazon.Runtime.EnvironmentAWSCredentials..ctor() in d:\Jenkins\jobs\build-sdk-v2\workspace\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\AWSCredentials.cs:line 590
在Amazon.Runtime.FallbackCredentialsFactory.b__1() in d:\Jenkins\jobs\build-sdk-v2\workspace\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\AWSCredentials.cs:line 1117
在Amazon.Runtime.FallbackCredentialsFactory.GetCredentials(Boolean fallbackToAnonymous) in d:\Jenkins\jobs\build-sdk-v2\workspace\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\AWSCredentials.cs:line 1137
我知道我可以将密钥硬编码到web.config中或使用SDK存储,但我需要以这种方式完成。为什么我的代码找不到我的凭证文件?