AWS .NET 配置扩展抛出'Not implemented AppConfig type: application/octet-stream'



我正在尝试使用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()来代替。