我正在尝试使用AWS . net配置扩展系统管理器Nuget包(Amazon.Extensions.Configuration.SystemsManager
)来检索存储在AWS参数存储中的配置。
我正在使用以下代码行,取自GitHub文档:
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureAppConfiguration(builder =>
{
builder.AddAppConfig("AppConfigApplicationId", "AppConfigEnvironmentId", "AppConfigConfigurationProfileId", TimeSpan.FromSeconds(20));
})
.UseStartup<Startup>();
运行代码后,我得到一个NotImplementedException
被抛出的消息:
Not implemented AppConfig type: application/octet-stream
您在构建器上调用了错误的方法。
对于从AWS SSM的参数Store获取值,您应该使用builder.AddSystemsManager
:
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureAppConfiguration(builder =>
{
builder.AddSystemsManager("/my-application/");
})
.UseStartup<Startup>();
使用builder.AddAppConfig
是为了从AWS SSM的AppConfig获取值,而不是参数存储。
我发现如果我在参数存储中存储比单个单词更复杂的数据,它会给我NotImplementedException: Not implemented AppConfig type: application/octet-stream.
,在这种情况下,你需要使用.AddSystemsManager()
来代替。