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

ARM模板中如何获取指定Azure Batch账户的主键?

获取Azure Batch账户主键的ARM模板表达式解决方案

我懂你在ARM模板里提取Batch账户主键时碰了壁——明明用listKeys能拿到包含主键的对象,但改了一点的表达式就失效了。咱们来把这个问题捋清楚。

首先,先明确正确的表达式写法:要从listKeys返回的对象里提取主键,你需要在表达式末尾加上.primary来访问对应属性,完整的表达式应该是:

"[listKeys(resourceId('Microsoft.Batch/batchAccounts', parameters('batch_accountName')), '2017-09-01').primary]"

结合你说的“仅一处差异未成功”,大概率是踩了这些常见的小坑:

  • 属性名大小写错误:返回的对象里主键属性是小写的primary,如果你写成了Primary(首字母大写),ARM模板会因为区分大小写而找不到这个属性,直接报错。
  • ResourceId参数/类型写错:比如batch_accountName参数名拼写有误,或者把资源类型写成了Microsoft.Batch/accounts(正确的是Microsoft.Batch/batchAccounts),这会导致listKeys找不到对应的Batch账户,自然拿不到密钥。
  • API版本不匹配:你用的2017-09-01版本确实会返回包含primary和secondary的结构,但如果不小心换成了其他版本,返回的JSON结构可能发生变化,导致无法提取属性。

给你一个实际使用的示例,比如在ARM模板里把主键赋值给某个资源的属性:

{
  "type": "Some.Resource/Type",
  "properties": {
    "batchPrimaryKey": "[listKeys(resourceId('Microsoft.Batch/batchAccounts', parameters('batch_accountName')), '2017-09-01').primary]"
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:22:25