我正在尝试使用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存储,但我需要通过凭证文件来完成此操作。为什么我的代码找不到我的凭证文件?
答案 0 :(得分:3)
需要将Credentials.txt从文本文件转换为通用Windows文件(.file),以便应用程序识别它。