You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否对从Azure App Configuration加载的配置键进行映射重命名

实现方案

该需求完全可以实现,核心是使用Azure App Configuration配置提供器内置的键修剪功能,无需修改本地配置文件,也不需要单独部署Azure App Configuration实例。

核心实现逻辑

  • 注册Azure App Configuration服务时调用TrimKeyPrefix方法,指定需要移除的前缀AppName1:,注意要保留末尾的冒号,避免误删其他包含AppName1字符的配置键
  • 前缀修剪完成后,原本的AppName1:Auth:ApiKey会被转换为Auth:ApiKey,和本地appsettings.json里的Auth:Duration属于同一配置节,可直接统一绑定读取

.NET平台代码示例

var builder = WebApplication.CreateBuilder(args);

// 加载本地appsettings.json配置,该逻辑默认已包含在.NET项目模板中
builder.Configuration.AddJsonFile("appsettings.json");

// 注册Azure App Configuration服务并处理前缀
builder.Configuration.AddAzureAppConfiguration(options =>
{
    options.Connect(builder.Configuration["AzureAppConfigConnectionString"])
           // 只拉取当前应用的配置,避免拉取其他应用的冗余配置
           .Select("AppName1:*")
           // 移除前缀AppName1:
           .TrimKeyPrefix("AppName1:");
});

统一读取验证

完成上述配置后,可直接绑定整个Auth配置节,同时读取本地和Azure侧的配置值:

// 绑定配置模型到服务容器
builder.Services.Configure<AuthSettings>(builder.Configuration.GetSection("Auth"));

// 配置模型定义示例
public class AuthSettings
{
    public string ApiKey { get; set; } // 取值来源:Azure App Configuration
    public TimeSpan Duration { get; set; } // 取值来源:本地appsettings.json
}

注意事项

  • 如果存在多个需要修剪的前缀,可多次调用TrimKeyPrefix方法,会按调用顺序依次处理
  • 配置优先级遵循提供器注册顺序:后注册的提供器的同键值会覆盖之前的。如果需要Azure配置优先覆盖本地配置,保持AddAzureAppConfiguration放在AddJsonFile之后即可,反之调整注册顺序
  • 配合Select方法过滤仅拉取当前应用前缀的配置,可减少冗余配置拉取,提升加载效率

内容的提问来源于stack exchange,提问作者Krzysztof Madej

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 07:45:05