ARM模板使用concat函数拼接两个数组报错的问题咨询
问题原因及解决方案
错误的核心原因是:你定义firstArray和secondArray时采用了包含type和value的对象结构,但调用variables('firstArray')返回的是整个对象(而非对象内部的数组值),导致concat函数接收到的参数不是数组类型,触发报错。
解决方法一:简化变量定义
直接将变量赋值为数组,无需嵌套type和value:
"variables": { "firstArray": [ "1-1", "1-2", "1-3" ], "secondArray": [ "2-1", "2-2", "2-3" ], "thirdArray": "[concat(variables('firstArray'), variables('secondArray'))]" }
解决方法二:引用变量的value属性
如果需要保留现有变量结构,在concat中明确引用对象的value属性来获取数组:
"variables": { "firstArray": { "type": "array", "value": [ "1-1", "1-2", "1-3" ] }, "secondArray": { "type": "array", "value": [ "2-1", "2-2", "2-3" ] }, "thirdArray": { "type": "array", "value": "[concat(variables('firstArray').value, variables('secondArray').value)]" } }
内容的提问来源于stack exchange,提问作者Kristoffer Jälén
相关产品推荐
相关产品推荐

