Azure ARM模板中带字符串的Concat变量

Azure ARM模板中带字符串的Concat变量,azure,azure-devops,azure-powershell,Azure,Azure Devops,Azure Powershell,我现在感觉很沮丧,但我就是不能让它工作。对ARM模板来说有点陌生,很抱歉我的无知 我试图将parameters.json与新的AzResourceGroupDeployment一起使用,但我希望在VMName中动态地提供它 我试图将此用于NSG名称: “值”:“[concat(变量('vmName'),'-nsg')” 但我得到一个错误: 新AzResourceGroupDeployment:6:39:21 AM-错误: 代码=无效的资源名称;消息=资源名称 [concat(变量('vmName

我现在感觉很沮丧,但我就是不能让它工作。对ARM模板来说有点陌生,很抱歉我的无知

我试图将parameters.json与新的AzResourceGroupDeployment一起使用,但我希望在VMName中动态地提供它

我试图将此用于NSG名称:

“值”:“[concat(变量('vmName'),'-nsg')”

但我得到一个错误:

新AzResourceGroupDeployment:6:39:21 AM-错误: 代码=无效的资源名称;消息=资源名称 [concat(变量('vmName'),'-nsg')]无效。该名称最多可为 80个字符长。它必须以单词字符开头,而且必须 以单词字符或“”结尾。名称可能包含单词 字符或“.”、“-”、“”


我缺少什么?

在哪里使用Concat函数?因为ARM模板函数仅在ARM模板本身中可用,而在.parameters.json文件中不可用

编辑作为响应:

这实际上取决于用例,但如果给定ARM模板的“nsg”值没有更改,我会在主ARM模板中执行类似的操作。如果确实如此,则定义第二个参数“vmsuffix”,并将这两个参数合并到完整的VMname中

{
“$schema”:”https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
“内容版本”:“1.0.0.0”,
“参数”:{
“VmName”:{
“类型”:“字符串”,
“defaultValue”:”
}
},
“变量”:{
“FullVmName”:“[concat(参数('VmName'),'nsg')”
},
“资源”:[
{
...
##在此处某处使用[variables('FullVmName')
}
]
}

我想可能就是这样,我以前在parms文件中使用过“[variables('diskName')]”,我只是假设我也可以使用concat?如果我不能正确的方法是什么?我的意思是我可以将json读入一个变量,更改值,编写一个新的临时文件,然后将其发送到新的AzResourceGroupDeployment,我想,但这似乎有些过分了。