Исключение, выброшенное на AWSSDK.SecurityToken - PullRequest
0 голосов
/ 25 марта 2019
var roleArnToAssume = "arn:aws:iam::xxxxxxxxxxxx:role/xxx-xxx";
var clientArn = new AmazonSecurityTokenServiceClient();
var assumeRoleReq = new AssumeRoleRequest();
assumeRoleReq.DurationSeconds = 3600;
assumeRoleReq.RoleSessionName = "XXXXX";
assumeRoleReq.RoleArn = roleArnToAssume;
assumeRoleReq.ExternalId = "xxxxxXxxXxxxXXXXXXxxxxxx";
var assumeRoleRes = GetAssumeRoleResponseAsync(client: clientArn, request: assumeRoleReq);
string tempAccessKeyId = assumeRoleRes.Result.Credentials.AccessKeyId;

В этот момент я получаю исключение null объекта, но ранее в строке # 2 я вижу все следующие исключения в выводе.Это на сервере (Windows 2012 R2) в разработке машин работает нормально (Windows 10).

Exception thrown: 'System.InvalidOperationException' in AWSSDK.Core.dll
Exception thrown: 'System.IO.DirectoryNotFoundException' in mscorlib.dll
Exception thrown: 'System.IO.DirectoryNotFoundException' in mscorlib.dll
Exception thrown: 'Amazon.Runtime.AmazonClientException' in AWSSDK.Core.dll
Exception thrown: 'System.InvalidOperationException' in AWSSDK.Core.dll
Exception thrown: 'System.InvalidOperationException' in AWSSDK.Core.dll
Exception thrown: 'System.InvalidOperationException' in AWSSDK.Core.dll
Exception thrown: 'System.IO.DirectoryNotFoundException' in mscorlib.dll
Exception thrown: 'System.IO.DirectoryNotFoundException' in mscorlib.dll
Exception thrown: 'System.InvalidOperationException' in AWSSDK.Core.dll
Exception thrown: 'System.IO.DirectoryNotFoundException' in mscorlib.dll
Exception thrown: 'System.IO.DirectoryNotFoundException' in mscorlib.dll

Кажется, связано с этим: https://github.com/aws/aws-sdk-net/issues/1131

Я уже обновил DLL.Используемая версия AWSSDK.Core: 3.3.31.19 AWSSDK.SecurityToken: 3.3.4.58 и 3.3.100

Обновление 1: я зашел в Настройки отладки / Windows / Исключения и щелкнул все типы исключений, которые я получаю.Теперь у меня есть больше информации.

System.InvalidOperationException: 'The app.config/web.config files for the application did not contain credential information'

1 Ответ

0 голосов
/ 27 марта 2019

Я полностью изменил свой код:

var roleArnToAssume = "arn:aws:iam::111111111111:role/xxx-xxxx";
var assumeRoleReq = new AssumeRoleRequest();
assumeRoleReq.DurationSeconds = 3600;
assumeRoleReq.RoleSessionName = "XXXX";
assumeRoleReq.RoleArn = roleArnToAssume;
assumeRoleReq.ExternalId = "xxxxxxxxxxxxxxxx";

var endpoint = Amazon.RegionEndpoint.USWest1;
var e = endpoint.GetEndpointForService("S3"); 

Amazon.Runtime.AWSCredentials credentials =
                new Amazon.Runtime.BasicAWSCredentials("XXXXXXXXXXXXXXXXXX", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");

var clientArn = new AmazonSecurityTokenServiceClient(credentials);
var assumeRoleRes = GetAssumeRoleResponseAsync(client: clientArn, request: assumeRoleReq);

string tempAccessKeyId = assumeRoleRes.Result.Credentials.AccessKeyId;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...