来自aws dynamodb- .net core sdk

时间:2018-04-03 07:52:14

标签: amazon-dynamodb asp.net-core-webapi aws-sts aws-sdk-net

我正在尝试使用AWS .NET核心SDK在dynamodb中插入记录,但我遇到以下异常:

  

请求中包含的安全令牌无效。

请在下面找到我为连接它所做的步骤:

  1. 在IAM中创建了一个新的访问密钥。
  2. 在本地下载了访问密钥和密钥。
  3. 在C:/ users //。aws /
  4. 中创建了文件名凭据
  5. 在文件中添加了以下代码(出于安全目的删除了凭据)

    [default] aws_access_key_id = xxxxxxxxxxxxxxxxxxxx aws_secret_access_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

  6. 将以下代码添加到appsettings.json文件中:

    "AWS":{ "Region": "ap-south-1", "Profile": "default"}

  7. 在startup.cs中,我已经在ConfigureServices方法中添加了以下代码: services.AddDefaultAWSOptions(Configuration.GetAWSOptions()); services.AddAWSService<IAmazonDynamoDB>();

  8. 当我使用以下代码执行代码时,我收到异常&#34;请求中包含的安全令牌无效&#34;

  9. 我也尝试过从appsettings.json获取accesskey和密钥 "AWS": { "Region": "ap-south-1", "AccessKey": "xxxxxxxxxxxxxxxxxxxx", "SecretKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" }

  10. 在startup.cs文件中的环境变量中设置这些凭据

  11. services.AddDefaultAWSOptions(Configuration.GetAWSOptions());
    services.AddMvc(); Environment.SetEnvironmentVariable("AWS_ACCESS_KEY_ID", Configuration["AWS:AccessKey"]); Environment.SetEnvironmentVariable("AWS_SECRET_ACCESS_KEY", Configuration["AWS:SecretKey"]); Environment.SetEnvironmentVariable("AWS_REGION", Configuration["AWS:Region"]); services.AddAWSService<IAmazonDynamoDB>();

    1. 我仍然得到相同的例外,请在下面找到堆栈跟踪:
    2.   

      在E:\ JenkinsWorkspaces \ v3-stage-release \ AWSDotNetPublic \ sdk \ src \ Core \ Amazon.Runtime \ Pipeline \ ErrorHandler \ HttpErrorResponseExceptionHandler中的Amazon.Runtime.Internal.HttpErrorResponseExceptionHandler.HandleException(IExecutionContext executionContext,HttpErrorResponseException异常)。 cs:第60行      在E:\ JenkinsWorkspaces \ v3-stage-release \ AWSDotNetPublic \ sdk \ src \ Core \ Amazon.Runtime \ Pipeline \ ErrorHandler \ ErrorHandler.cs:中的Amazon.Runtime.Internal.ErrorHandler.ProcessException(IExecutionContext executionContext,Exception exception) 212      在Amazon.Runtime.Internal.ErrorHandler.d__5 1.MoveNext() in E:\JenkinsWorkspaces\v3-stage-release\AWSDotNetPublic\sdk\src\Core\Amazon.Runtime\Pipeline\ErrorHandler\ErrorHandler.cs:line 104 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Amazon.Runtime.Internal.CallbackHandler.<InvokeAsync>d__9 1.MoveNext()   ---从抛出异常的先前位置开始的堆栈跟踪结束---      在System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()      在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)      在Amazon.Runtime.Internal.CredentialsRetriever.d__7 1.MoveNext() in E:\JenkinsWorkspaces\v3-stage-release\AWSDotNetPublic\sdk\src\Core\Amazon.Runtime\Pipeline\Handlers\CredentialsRetriever.cs:line 98 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Amazon.Runtime.Internal.RetryHandler.<InvokeAsync>d__10 1.MoveNext()   ---从抛出异常的先前位置开始的堆栈跟踪结束---      在System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()      在Amazon.Runtime.Internal.RetryHandler.d__10 1.MoveNext() in E:\JenkinsWorkspaces\v3-stage-release\AWSDotNetPublic\sdk\src\Core\Amazon.Runtime\Pipeline\RetryHandler\RetryHandler.cs:line 153 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Amazon.Runtime.Internal.CallbackHandler.<InvokeAsync>d__9 1.MoveNext()   ---从抛出异常的先前位置开始的堆栈跟踪结束---      在System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()      在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)      在Amazon.Runtime.Internal.CallbackHandler.d__9 1.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Amazon.Runtime.Internal.ErrorCallbackHandler.<InvokeAsync>d__5 1.MoveNext()在E:\ JenkinsWorkspaces \ v3-stage-release \ AWSDotNetPublic \ sdk \ src \ Core \ Amazon.Runtime \ Pipeline \ Handlers \ ErrorCallbackHandler中。 cs:第58行   ---从抛出异常的先前位置开始的堆栈跟踪结束---      在System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()      在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)      在Amazon.Runtime.Internal.MetricsHandler.d__1 1.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter 1.GetResult()      在D:.Net Projects \ TraninerExchange \ proj \ TXApi \ DataAccess \ Implementation \ TrainerAccess.cs:第47行的DataAccess.Implementation.TrainerAccess.d__6.MoveNext()中

      有人可以帮我解决这个问题吗?

      如果我在这里遗漏任何东西,请告诉我。

1 个答案:

答案 0 :(得分:1)

enter image description here

在此处,为AWS Explorer中的所选配置文件验证您的访问密钥ID和秘密访问密钥。由于配置文件中的凭据不正确,因此创建了此问题。或者如果您只需要删除个人资料就可以删除它。

相关问题