Я использую хранилище параметров AWS Systems Manager для хранения строк подключения к базе данных, которые используются для динамического создания DbContext в моем приложении .NET Core
Я использую поставщик конфигурации .NET Core AWS (с https://aws.amazon.com/blogs/developer/net-core-configuration-provider-for-aws-systems-manager/), который вводит мои параметры в конфигурацию IConfiguration во время выполнения.
В настоящий момент мне необходимо сохранить свой ключ доступа / секретный ключ AWS в коде, чтобы он мог быть доступен для ConfigurationBuilder, но он хотел бы переместить этоиз базы кода и сохранил его в appsettings или подобном.
Вот мой метод для создания построителя веб-хоста, вызываемого при запуске
public static IWebHostBuilder CreateWebHostBuilder(string[] args)
{
var webHost = WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>();
AWSCredentials credentials = new BasicAWSCredentials("xxxx", "xxxx");
AWSOptions options = new AWSOptions()
{
Credentials = credentials,
Region = Amazon.RegionEndpoint.USEast2
};
webHost.ConfigureAppConfiguration(config =>
{
config.AddJsonFile("appsettings.json");
config.AddSystemsManager("/ParameterPath", options, reloadAfter: new System.TimeSpan(0, 1, 0)); // Reload every minute
});
return webHost;
}
Мне нужно иметь возможность ввести параметр BasicAWSCredentialsоткуда-то.