Azure Bicep:使用字典对象参数时出现无效 JSON 错误
Azure Bicep: Invalid JSON error while using dictionary object param
我尝试使用以下 bicep 代码部署自动化帐户变量:
param DictionaryAutomationAccountVariables object = {
var1: {
varValue: 'value1'
}
var2: {
varValue: 'value2'
}
}
resource automationAccount 'Microsoft.Automation/automationAccounts@2019-06-01' = {
name: 'aatest'
location: resourceGroup().location
properties: {
sku: {
name: 'Free'
}
}
}
resource automationVariable 'Microsoft.Automation/automationAccounts/variables@2019-06-01' = [for automationVariable in items(DictionaryAutomationAccountVariables): {
parent: automationAccount
name: automationVariable.key
properties: {
value: automationVariable.value.varValue
isEncrypted: false
}
}]
我输入命令 New-AzResourceGroupDeployment -Name 'mydeployment' -ResourceGroupName 'MyRG' -TemplateFile .\aaVariables.bicep
,但出现以下错误:
New-AzResourceGroupDeployment: 8:43:01 AM - The deployment 'mydeployment' failed with error(s). Showing 1 out of 1 error(s).
Status Message: {"Message":"Invalid JSON - Kindly check the value of the variable."} (Code:BadRequest)
我查看了Bicep documentation中的字典对象示例,我使用完全相同的格式。
知道为什么会出现此错误吗?
更新:我试过只用没有循环的二头肌部署一个简单的自动化帐户变量。我得到了同样的错误。
我怀疑可以改进错误消息...有点...
试试这个:
value: '"${automationVariable.value.varValue}"'
如果您想要一个字符串变量,请将值放在双引号中。
当未提供类型 属性 时(我认为甚至不可能在该 apiVersion 中提供,但它曾经是)默认类型是对象...
我尝试使用以下 bicep 代码部署自动化帐户变量:
param DictionaryAutomationAccountVariables object = {
var1: {
varValue: 'value1'
}
var2: {
varValue: 'value2'
}
}
resource automationAccount 'Microsoft.Automation/automationAccounts@2019-06-01' = {
name: 'aatest'
location: resourceGroup().location
properties: {
sku: {
name: 'Free'
}
}
}
resource automationVariable 'Microsoft.Automation/automationAccounts/variables@2019-06-01' = [for automationVariable in items(DictionaryAutomationAccountVariables): {
parent: automationAccount
name: automationVariable.key
properties: {
value: automationVariable.value.varValue
isEncrypted: false
}
}]
我输入命令 New-AzResourceGroupDeployment -Name 'mydeployment' -ResourceGroupName 'MyRG' -TemplateFile .\aaVariables.bicep
,但出现以下错误:
New-AzResourceGroupDeployment: 8:43:01 AM - The deployment 'mydeployment' failed with error(s). Showing 1 out of 1 error(s).
Status Message: {"Message":"Invalid JSON - Kindly check the value of the variable."} (Code:BadRequest)
我查看了Bicep documentation中的字典对象示例,我使用完全相同的格式。
知道为什么会出现此错误吗?
更新:我试过只用没有循环的二头肌部署一个简单的自动化帐户变量。我得到了同样的错误。
我怀疑可以改进错误消息...有点...
试试这个:
value: '"${automationVariable.value.varValue}"'
如果您想要一个字符串变量,请将值放在双引号中。
当未提供类型 属性 时(我认为甚至不可能在该 apiVersion 中提供,但它曾经是)默认类型是对象...