请在我疯了之前帮助我,咬掉我的一只手臂!我正在尝试使用azure模板在自动化帐户中创建变量。我的小模板正在创建整数变量,但我需要一个字符串。我收到错误消息:
New-AzureRmResourceGroupDeployment:22:24:06 - 资源Microsoft.Automation / automationAccounts / variables 'Start-Stop-VMs-Test / myVariableName'失败,消息为'{ “code”:“BadRequest”, “message”:“{\”Message \“:\”请求无效。\“,”ModelState \“:{\”variable.properties.value \“:[\”无效的JSON primitive:myVariableValue。\“]}}” }“
顺便说一句,自动化帐户已经存在,我不想创建或重新配置它,所以我想让它远离模板。我希望我的VM模板创建一个字符串变量,DSC配置将使用该变量来完成VM构建。
所以创建一个像这样的整数变量可以正常工作,虽然它对我来说完全没用:
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Automation/automationAccounts/variables",
"name": "Start-Stop-VMs-Test/myVariableName",
"apiVersion": "2015-10-31",
"location": "westeurope",
"properties": {
"description": "myVariableDesc",
"value": 17
}
}
]
}
但是,尝试创建这样的字符串变量时,“Invalid JSON primitive”消息失败:
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Automation/automationAccounts/variables",
"name": "Start-Stop-VMs-Test/myVariableName",
"apiVersion": "2015-10-31",
"location": "westeurope",
"properties": {
"description": "myVariableDesc",
"value": "myVariableValue"
}
}
]
}
我尝试添加另一个属性“type”:“string”但这没有区别,我在https://docs.microsoft.com/en-us/azure/templates/microsoft.automation/automationaccounts/variables中没有看到它。我的自动化帐户当然称为“Start-Stop-VMs-Test”。也许我会尝试找一份公交车司机的工作。
答案 0 :(得分:1)
"name": "Start-Stop-VMs-Test/myVariableName",
因为Runbook名称只能包含字母,数字,下划线和破折号,因此必须开始带一封信(不支持/)。
请尝试使用此名称" Start-stop-VMs-Test-myVariableName"。
答案 1 :(得分:1)
我似乎偶然发现了答案。如果你想要一个字符串变量,你必须将它放在单引号中,并将所有这些放在json的双引号内。我认为实际上有点奇怪,如果它可以告诉17是一个整数,为什么它不能告诉myVariableValue是一个字符串?因此下面是一个工作模板,请注意变量值周围双引号内的单引号。我希望微软记录下来,我至少失去了一个小时。 “\”myVariableValue \“”也适用。
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Automation/automationAccounts/variables",
"name": "Start-Stop-VMs-Test/myVariableName",
"apiVersion": "2015-10-31",
"location": "westeurope",
"properties": {
"description": "myVariableDesc",
"value": "'myVariableValue'"
}
}
]
}