尝试将 Azure ARM 模板与对象参数一起使用,但遇到无效索引错误

Trying to use Azure ARM template with object parameter but stuck with an invalid index error

我目前正在尝试使用以下方法获取 Azure 存储密钥:

"accessKey": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('myParameter').azureblob.storageAccountName), '2019-04-01').keys[0].value]"

我的参数定义为:

"LogicAppConnections": {
        "value": {
            "azureblob": [
                {
                    "storageAccountName": "myAccountName"
                }
            ]
        }
 }

这是我从验证器那里得到的异常:

Template validation failed: The template resource 'XYZ' at line '84' and column '9' is not valid: The language expression property 'storageAccountName' has an invalid array index.. Please see https://aka.ms/arm-template-expressions for usage details.

有人知道问题出在哪里吗?

谢谢

因为它是一个数组,所以您必须对其进行索引:

parameters('myParameter').azureblob[0].storageAccountName

或者这样做:

first(parameters('myParameter').azureblob)).storageAccountName