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

Azure Function配置无法获取Key Vault最新版本密钥问题

Azure Function 读取 Key Vault 无版本引用最新密钥问题排查方案
  • 确认引用配置及权限有效性
    首先核对无版本引用的格式是否正确,正确格式为:
    TheSecret
    @Microsoft.KeyVault(SecretUri=https://<vault名称>.vault.azure.net/secrets/TheSecret/)
    
    注意路径末尾的斜杠不能遗漏。其次到Function App的「配置」页面,查看TheSecret对应的Key Vault引用状态是否为「已同步(绿色对勾)」。如果同步失败,检查Key Vault的访问策略是否给Function App对应的托管身份授予了机密的Get权限,且没有配置版本级别的访问限制。
  • 处理平台侧Key Vault引用缓存
    Azure App Service(包含Function App)对无版本的Key Vault引用默认有最长24小时的缓存,默认不会实时同步Key Vault的密钥更新。要强制触发刷新,可以任选以下操作之一:
    • 重新提交保存一次TheSecret的配置项,无需修改内容直接点保存即可
    • 新增一个临时的测试配置项,保存后再删除,会触发全量配置同步
      不要仅依赖快速重启操作,部分场景下快速重启不会清除平台侧的配置缓存。
  • 清理运行时实例缓存
    如果使用消费计划/弹性计划的Azure Function,运行实例会有进程复用逻辑,环境变量是进程启动时一次性加载的,就算平台侧已经同步了最新密钥,旧的运行实例还是会读取进程启动时加载的旧值。可以将Function App完全停止3~5分钟,确认所有旧实例被回收后再重新启动,新实例启动时会拉取最新的配置值。
  • 确认Key Vault侧密钥状态
    检查Key Vault中TheSecret的最新版本是否为「已启用」状态,是否设置了未来的生效时间,若最新版本未生效,平台会默认拉取最近的可用旧版本。
  • 验证配置实际值
    可以进入Function App的「高级工具(Kudu)」页面,在「环境」标签下直接查看TheSecret的当前加载值:如果此处显示的是旧版本,说明问题出在平台侧的引用同步环节;如果此处显示的是新版本,说明问题出在代码逻辑,检查代码中是否将密钥值存入了静态变量、单例对象等缓存位置,没有每次调用都读取Environment.GetEnvironmentVariable。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 15:54:03