首页 > 解决方案 > 环境变量 AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY/AWS_SESSION_TOKEN 未使用 AWS 凭证设置

问题描述

在此处使用 .net 核心:

我在连接到我的 AWS 发电机数据库时遇到以下问题。

下面是我的启动课

public void ConfigureServices(IServiceCollection services)
{

 // AWS Options
var awsOptions = Configuration.GetAWSOptions();
services.AddDefaultAWSOptions(awsOptions);

  var client = awsOptions.CreateServiceClient<IAmazonDynamoDB>();
var dynamoDbOptions = new DynamoDbOptions();
ConfigurationBinder.Bind(Configuration.GetSection("DynamoDbTables"), dynamoDbOptions);

services.AddScoped<IDynamoDbManager<UserData>>(provider => new DynamoDbManager<UserData>(client, dynamoDbOptions.UserData));

}   

以下是我的应用设置:

"AWS": {
"Region": "us-east-1",
"AwsId": "xxxx",
"AwsPassword": "xxxxx"
 },
"DynamoDbTables": {
"UserData": "UserDataTest"
 }  

仅供参考,下面是我的 DynamoDbManager 课程:

   public class DynamoDbManager<T> : DynamoDBContext, IDynamoDbManager<T> where T : class
   {
  private DynamoDBOperationConfig _config;

    public DynamoDbManager(IAmazonDynamoDB client, string tableName) : base(client)
    {
      _config = new DynamoDBOperationConfig()
      {
          OverrideTableName = tableName
      };
  }
  }

当我运行我的应用程序时,它给了我错误:

启动应用程序时发生错误。

AmazonServiceException:找不到凭证

System.InvalidOperationException:环境变量 AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY/AWS_SESSION_TOKEN 未使用 AWS 凭证设置。

但我以前从未设置过我的环境凭据,它工作正常。不知道现在发生了什么变化并开始给我这个错误。

标签: c#amazon-web-servicesasp.net-coreamazon-dynamodb

解决方案


推荐阅读