繁体   English   中英

无法从ARM模板中的存储资源获取Azure存储密钥

[英]Unable to get Azure storage key from storage resource in ARM template

我正在尝试从模板中其他地方使用的存储帐户构建连接字符串,我有

"StorageConnectionString": {
               "value": "[concat('DefaultEndpointsProtocol=https;AccountName=',
 variables('storageName'),';AccountKey=',
 listKeys(resourceId('Microsoft.Storage/storageAccounts',
 variables('storageName')), providers('Microsoft.Storage',
 'storageAccounts').apiVersions[0]).key1)]",
              "type": "Custom"
             },

ARM找到的内容-如何从存储帐户中获取访问密钥,以便稍后在模板的AppSettings中使用? 但是,该问题中的语法似乎不再起作用。 我收到一个错误消息,即key1不是已知的属性。 显然有一个称为keys的属性,但正如人们所期望的那样,它是某种结构。 我无法从该结构中找出主键的属性。 我试过了

  • key1->模板语言表达式属性'key1'不存在,可用属性为'keys
  • 键->模板语言功能“ concat”提供的参数无效。 所有参数或全部参数都不能为数组。
  • keys.key1
  • keys.primaryKey
  • 键[0]

所有这些都失败了。 我尝试将output放在文件末尾,但输出键似乎没有任何输出。

事实证明,从listKeys返回的对象的结构是一个键数组,看起来像

[
  { "keyName":"key1", "permissions":"Full", "value":"keyvalue1"},
  { "keyName":"key2", "permissions":"Full", "value":"keyvalue2"}
]

因此,获取值的正确解决方案是执行keys[0].value

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM