用途
该技能面向 Azure App Configuration 的 TypeScript 使用场景,提供集中式配置管理能力,并支持功能标志与动态刷新。它把配置读写、运行时加载、功能开关评估等操作组织为可执行的工作流。
主要能力
- 低层 CRUD SDK:通过 @azure/app-configuration 与 @azure/identity 完成配置项的创建、更新、读取、删除、只读锁定/解锁。
- 高层配置提供程序:通过 @azure/app-configuration-provider 在应用中加载配置,支持 selectors 过滤、键前缀裁剪、映射式访问与对象式访问。
- 动态刷新:可开启定时刷新(如 30 秒),通过 refresh() 触发非阻塞刷新,并支持 onRefresh 监听刷新事件,示例给出 Express 中间件模式。
- Key Vault 引用:在加载配置时提供 keyVaultOptions(凭据与密钥刷新间隔),密钥可被自动解析。
- 功能标志:通过 @microsoft/feature-management 结合 ConfigurationMapFeatureFlagProvider 与 FeatureManager 加载并评估功能标志,支持简单开关判断与定向上下文(用户、组、发布百分比)。
- 快照:支持创建、获取、列出快照内配置、归档与恢复,并可从快照加载配置。
- 标签:支持按环境等标签写入与筛选配置,并列举可用标签。
使用方式
安装命令:
# Low-level CRUD SDK
npm install @azure/app-configuration @azure/identity
# High-level provider (recommended for apps)
npm install @azure/app-configuration-provider @azure/identity
# Feature flag management
npm install @microsoft/feature-management
环境变量:
AZURE_APPCONFIG_ENDPOINT=https://<your-resource>.azconfig.io
# OR
AZURE_APPCONFIG_CONNECTION_STRING=Endpoint=https://...;Id=...;Secret=...
认证支持 DefaultAzureCredential(推荐)与连接字符串两种方式。运行时推荐使用 provider 加载配置,管理类操作推荐使用低层 SDK;可开启刷新、使用标签区分环境、使用快照固化发布配置,并可采用哨兵键触发整体刷新。文档还建议使用 RBAC 角色(如 App Configuration Data Reader)控制只读访问。
适用场景
适用于需要在 TypeScript / Node.js 应用中集中管理配置、按标签区分环境、动态刷新配置、集成 Key Vault 密钥,以及管理并评估功能标志与定向发布的场景。
限制
该技能仅在任务与上述范围明确匹配时使用;输出不应替代针对具体环境的验证、测试或专家评审。若缺少必要输入、权限、安全边界或成功标准,应停止并请求澄清。