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

如何在Azure CLI中调用ADO关联的Key Vault密钥设置应用环境变量

解决步骤

1. 前置配置检查

  • 确认你创建的关联Key Vault的变量组,已经添加到当前流水线的「变量」-「变量组」引用列表中,且当前管道已获得该变量组的访问授权。
  • 确认Key Vault中创建的密钥名称为secret_url,变量组中同步的变量名与调用时的$(secret_url)完全一致,大小写匹配。
  • 确认你流水线使用的服务连接(此处为test-group-SPN对应的服务主体),在Key Vault的访问策略中被授予机密获取权限;若使用Azure RBAC权限模型,则需授予Key Vault Secrets User角色。

2. 任务配置修正

Key Vault导入的变量属于ADO机密变量,默认不会自动注入到脚本执行环境,需显式在任务的env字段中声明映射,修改后的完整任务配置如下:

- task: AzureCLI@1
  displayName: 'Set variable'
  inputs: 
    azureSubscription: 'test-group-SPN'
    scriptType: 'ps'
    scriptLocation: 'inlineScript'
    inlineScript: |
      az webapp config appsettings set -n function-test -g test-group --settings ENDPOINT_TEST=$env:SECRET_URL
  env:
    SECRET_URL: $(secret_url)

3. 之前写法失效的原因

  • ${secret_url}是bash环境的变量语法,不适用于你当前使用的PowerShell脚本环境。
  • 直接在inlineScript中使用$(secret_url)时如果URL包含PowerShell特殊字符(如&、$、空格等),展开后会被PowerShell误解析导致命令执行异常,通过环境变量传递可完全规避转义问题。
  • 若未完成上述前置配置,$(secret_url)会被ADO识别为未定义变量,直接原样输出导致配置错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 06:06:05