我正在使用 AWS Systems Manager Parameter Store 来保存用于在我的 .NET Core 应用程序中动态构建 DbContext 的数据库连接字符串
我正在使用 .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 参数。