我在托管我的应用程序的 kubernetes pod 上有一个环境变量列表,它没有任何部分,只有如下所示的变量列表:
KAFKA_BOOTSTRAP_SERVERS
KAFKA_PASSWORD
KAFKA_TOPIC
KAFKA_USERNAME
将其映射到我的选项类的最佳方法是什么
[ConfigurationKeyName("KAFKA_BOOTSTRAP_SERVERS")]
public required string BootstrapServers { get; set; }
[ConfigurationKeyName("KAFKA_USERNAME")]
public required string Username { get; set; }
[ConfigurationKeyName("KAFKA_PASSWORD")]
public required string Password { get; set; }
[ConfigurationKeyName("KAFKA_TOPIC")]
public required string Topic { get; set; }
我尝试通过接口通过
IConfigureOptions<KafkaOptions>
进行绑定,但是它要求绑定ConfigurationSection,而我没有
_configuration
.GetSection(SectionName)
.Bind(options);
有谁知道如何解决吗?
只需从配置本身绑定(需要
Microsoft.Extensions.Configuration.Binder
):
public void Configure(TestOptions options)
{
_configuration.Bind(options);
}