C# 无法获取AWS S3的IAM安全凭据

C# 无法获取AWS S3的IAM安全凭据,c#,amazon-web-services,amazon-s3,C#,Amazon Web Services,Amazon S3,这个错误让我抓狂,lambda web api也有同样的问题,但上传时就可以了,所以现在就可以了 然而,这个项目将是一个NuGet包,我需要能够简单地将一个文件上传到S3 我已使用以下代码准备好代码: 我正在尝试运行此本地服务器,但无法从EC2实例元数据服务获取IAM安全凭据。错误 在VisualStudio中,我可以看到AWS资源管理器,我可以从这里创建一个bucket。。。所以我有我的用户设置。。。但当我在当地经营时。。。没有用户 我知道在某个地方它将丢失一行值:这是由于本地计算机中缺少凭据

这个错误让我抓狂,lambda web api也有同样的问题,但上传时就可以了,所以现在就可以了

然而,这个项目将是一个NuGet包,我需要能够简单地将一个文件上传到S3

我已使用以下代码准备好代码:

我正在尝试运行此本地服务器,但无法从EC2实例元数据服务获取IAM安全凭据。错误

在VisualStudio中,我可以看到AWS资源管理器,我可以从这里创建一个bucket。。。所以我有我的用户设置。。。但当我在当地经营时。。。没有用户


我知道在某个地方它将丢失一行值:

这是由于本地计算机中缺少凭据造成的。设置AWS资源管理器不会提供运行代码的凭据

设置凭据的一种方法是在使用windows时使用C:\users\awsuser\.aws\credentials中的凭据文件。 以下是凭据文件中配置文件的示例

[default]
aws_access_key_id = {accessKey}
aws_secret_access_key = {secretKey}

您可以阅读有关管理.Net凭据的详细信息这是由于本地计算机中缺少凭据造成的。设置AWS资源管理器不会提供运行代码的凭据

设置凭据的一种方法是在使用windows时使用C:\users\awsuser\.aws\credentials中的凭据文件。 以下是凭据文件中配置文件的示例

[default]
aws_access_key_id = {accessKey}
aws_secret_access_key = {secretKey}

您可以阅读更多有关管理.Net凭据的信息

谢谢@Geeshan的回答,它为我提供了一些在何处查找的指导

但是,我有我的凭证文件设置,但我的问题的答案是,您还需要一个名为default的配置文件设置

另外,现在知道您不需要匹配的默认IAM用户

在AWS IAM用户页面上,您可以正常创建用户,无需创建默认用户。在Visual studio中,当您创建新配置文件时,如果您的配置文件名为default,并且您输入了其中一个IAM用户的密钥和机密密钥,则运行应用程序时将使用我想念的用户了解此配置文件名,并假设它需要与您的IAM用户匹配,因此最初我创建了一个默认IAM用户。我现在知道,这是不需要的

如果不想使用默认值,则可以在应用程序代码中使用TryGetProfile和tryGetWSCredentials来选择用户,请参见下文


谢谢@Geeshan的回答,它为我指明了方向

但是,我有我的凭证文件设置,但我的问题的答案是,您还需要一个名为default的配置文件设置

另外,现在知道您不需要匹配的默认IAM用户

在AWS IAM用户页面上,您可以正常创建用户,无需创建默认用户。在Visual studio中,当您创建新配置文件时,如果您的配置文件名为default,并且您输入了其中一个IAM用户的密钥和机密密钥,则运行应用程序时将使用我想念的用户了解此配置文件名,并假设它需要与您的IAM用户匹配,因此最初我创建了一个默认IAM用户。我现在知道,这是不需要的

如果不想使用默认值,则可以在应用程序代码中使用TryGetProfile和tryGetWSCredentials来选择用户,请参见下文


您是如何为AWS explorer设置用户的?您可以共享相关代码吗?该错误消息与SDK尝试用于查找凭据的一长串凭据提供程序中的最后一个有关。这意味着SDK无法在其受支持列表中的任何位置找到凭据。如果您在Mac/Linux上本地运行,则凭据通常位于~/.aws/credentials中。在aws Explorer中,我添加了一个新的配置文件,这会将用户添加到凭据文件中。。我可以看到配置文件确实存在于该文件中:发现问题,需要创建默认配置文件。。。在文档中看不到这样的内容:将很快编写一个包含更多详细信息的答案显示您是否为AWS explorer设置了用户?您可以共享相关代码吗?该错误消息与SDK尝试用于查找凭据的一长串凭据提供程序中的最后一个有关。这意味着SDK无法在其受支持列表中的任何位置找到凭据。如果您在Mac/Linux上本地运行,则凭据通常位于~/.aws/credentials中。在aws Explorer中,我添加了一个新的配置文件,这会将用户添加到凭据文件中。。我可以看到配置文件确实存在于该文件中:发现问题,需要创建默认配置文件。。。在文档中看不到这样的内容:将很快编写一个包含更多详细信息的答案谢谢,但是这不起作用:,我的凭据确实存在于此位置,设置了密钥和访问密钥,我刚刚创建了一个新的IAM用户,然后向Visual studio AWS资源管理器添加了一个新配置文件,我可以在凭据字段中看到这个新用户。。。我跑得很快,但还是犯了同样的错误
r:我的代码如何知道如何使用新的配置文件?我是否遗漏了其他一些配置值?或者这仅仅是基于哪个配置文件处于活动状态?我也阅读了你的链接,有帮助,有意义,但仍然无法工作我尝试了这些TryGetWSCredentials TryGetProfile作为我的个人资料名称,他们返回了我个人资料的详细信息,我不知道为什么不工作:发现问题。。。我需要创建一个默认配置文件,它可以工作,或者如果使用不同的配置文件,我需要在代码中使用TryGetAWSCredentials并将awsCredentials设置为我需要的配置文件。我将在短期内创建一个包含更多详细信息的答案,理想情况下,我希望使用visual studio用户正在使用的配置文件,否则所有开发人员都将使用默认配置文件,无需创建IAM配置文件我误解了VS AWS Explorer中的配置文件名称。。。我认为这必须匹配一个IAM用户和密钥。我不需要创建默认的IAM用户帐户,我只需要使用IAM用户的密钥,并将Visual Studio配置文件名设置为默认。。。。现在一切都有意义了!谢谢你给我指明了正确的方向!谢谢,但是这不起作用:,我的凭据确实存在于此位置,设置了密钥和访问密钥后,我刚刚创建了一个新的IAM用户,然后向Visual studio AWS资源管理器添加了一个新配置文件,在执行此操作时,我可以在凭据字段中看到此新用户。。。我点击run,仍然得到相同的错误:我的代码如何知道如何使用新的配置文件?我是否遗漏了其他一些配置值?或者这仅仅是基于哪个配置文件处于活动状态?我也阅读了你的链接,有帮助,有意义,但仍然无法工作我尝试了这些TryGetWSCredentials TryGetProfile作为我的个人资料名称,他们返回了我个人资料的详细信息,我不知道为什么不工作:发现问题。。。我需要创建一个默认配置文件,它可以工作,或者如果使用不同的配置文件,我需要在代码中使用TryGetAWSCredentials并将awsCredentials设置为我需要的配置文件。我将在短期内创建一个包含更多详细信息的答案,理想情况下,我希望使用visual studio用户正在使用的配置文件,否则所有开发人员都将使用默认配置文件,无需创建IAM配置文件我误解了VS AWS Explorer中的配置文件名称。。。我认为这必须匹配一个IAM用户和密钥。我不需要创建默认的IAM用户帐户,我只需要使用IAM用户的密钥,并将Visual Studio配置文件名设置为默认。。。。现在一切都有意义了!谢谢你给我指明了正确的方向!