gpt4 book ai didi

azure - 解析 if 语句时,Arm 模板中的预期 token 'Identifier' 和实际 'LeftSquareBracket'

转载 作者:行者123 更新时间:2023-12-02 08:16:30 24 4
gpt4 key购买 nike

我正在尝试使用 if 函数在 ARM 模板的变量部分中设置一个变量。在参数部分,我定义了一个由参数文件填充的参数。我们称之为条件:

"condition": {
"type": "bool",
"defaultValue": false}

现在在变量部分我想定义一个变量,如果conditiontruevar = ["1","2","3"] else var = [] 一个空数组。

我已经尝试过:

"var" : "[if(parameters('condition'),[\"1\",\"2\",\"3\"],[])]"
"var" : "[if(parameters('condition'),['1','2','3'],[])]"
"var" : "[if(parameters('condition'),array(['1','2','3']),array([]))]"

所有结果都相同预期标记“Identifier”和实际“LeftSquareBracket”抛出错误。

当然我可以用类似的方式解决它:

"var0" : ["1","2","3"],
"var1" : [],
"var" : "[if(parameters('condition'),variables('var0'),variables('var1')]"

但这会导致两个虚拟变量和更丑陋的代码,我真的很想避免它。

尝试从 azure CLI 进行部署。

这确实是一个语法错误,但我就是无法弄清楚。

预先感谢您的帮助!

最佳答案

好吧,答案就是使用内置的 json() 函数。

我已经解决了这个问题:

"var" : "[if(parameters('condition'),json('[\"1\",\"2\",\"3\"]'),json('[]'))]"

关于azure - 解析 if 语句时,Arm 模板中的预期 token 'Identifier' 和实际 'LeftSquareBracket',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73038037/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com