gpt4 book ai didi

azure - 在 Azure ARM 模板中将变量与字符串连接起来

转载 作者:行者123 更新时间:2023-12-03 04:45:32 24 4
gpt4 key购买 nike

我现在感觉很沮丧,但我就是无法让它发挥作用。对 ARM 模板有点陌生,很抱歉我的无知。

我尝试将parameters.json 与New-AzResourceGroupDeployment 结合使用,但我想在VMName 中动态提供它。

我尝试使用它作为 NSG 名称:

"value": "[concat(variables('vmName'),'-nsg')]"

但我得到一个错误:

New-AzResourceGroupDeployment: 6:39:21 AM - Error:Code=InvalidResourceName; Message=Resource name[concat(variables('vmName'),'-nsg')] is invalid. The name can be up to80 characters long. It must begin with a word character, and it mustend with a word character or with ''. The name may contain wordcharacters or '.', '-', ''.

我错过了什么?

最佳答案

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

编辑作为回复:

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

{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {

"VmName": {
"type": "string",
"defaultValue": ""
}

},

"variables": {
"FullVmName": "[concat(parameters('VmName'), 'nsg')]"
},

"resources": [
{
...
## Use the [variables('FullVmName') somewhere here
}
]
}

关于azure - 在 Azure ARM 模板中将变量与字符串连接起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64803341/

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