У кого-нибудь есть идея, почему я получаю эту ошибку, пытаясь получить секрет AWS от менеджера секретов?Это докер-контейнер, работающий в AWS Fargate.
Необработанное исключение: System.AggregateException: произошла одна или несколько ошибок.(Неверный аргумент) ---> System.Net.Http.HttpRequestException: Неверный аргумент ---> System.Net.Sockets.SocketException: Неверный аргумент в System.Net.Http.ConnectHelper.ConnectAsync (Строковый хост, порт Int32, CancellationTokencancellationToken)
Фрагмент кода приведен ниже.И задаче назначена соответствующая роль IAM.
using System;
using System.IO;
using Amazon;
using Amazon.SecretsManager;
using Amazon.SecretsManager.Model;
namespace AssetView.Contacts.WebApi
{
public static class SecretManager
{
public static string GetSecret(string secretName, string region)
{
//string secretName = "av/connectionstring/dev";
// region = "us-east-1";
string secret = "";
MemoryStream memoryStream = new MemoryStream();
IAmazonSecretsManager client = new AmazonSecretsManagerClient(RegionEndpoint.GetBySystemName(region));
GetSecretValueRequest request = new GetSecretValueRequest();
request.SecretId = secretName;
//request.VersionStage = "AWSCURRENT"; // VersionStage defaults to AWSCURRENT if unspecified.
GetSecretValueResponse response = null;
// In this sample we only handle the specific exceptions for the 'GetSecretValue' API.
// See https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html
// We rethrow the exception by default.
try
{
response = client.GetSecretValueAsync(request).Result;
}
catch
{
throw;
}
// Decrypts secret using the associated KMS CMK.
// Depending on whether the secret is a string or binary, one of these fields will be populated.
if (response.SecretString != null)
{
secret = response.SecretString;
}
else
{
memoryStream = response.SecretBinary;
StreamReader reader = new StreamReader(memoryStream);
secret = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(reader.ReadToEnd()));
}
return secret;
}
}
}
В документе API мало сказано: https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/SecretsManager/MISecretsManagerGetSecretValueAsyncGetSecretValueRequestCancellationToken.html