gpt4 book ai didi

Azure 可用区参数语法

转载 作者:行者123 更新时间:2023-12-05 04:01:58 25 4
gpt4 key购买 nike

我正在尝试参数化使用可用区域的虚拟机部署。但是,我在部署时不断收到此错误:

“为第“1”行和“5118”列的模板参数“availabilityZoneParameter”提供的值无效。”

或者:

“部署模板解析失败:‘将值\"[ '1' ]\"转换为类型 'System.String[]' 时出错。路径 ''.'。”

参数文件语法当前为:

"availabilityZoneParameter": {
"value": "[ '1' ]"
}

然后,我将其作为参数移植并将其转换为变量,然后将其导出到其他链接模板以及在初始构建模板中使用它。

部署文件语法中的参数:

"availabilityZoneParameter": {
"type": "string"
}

原始部署文件语法中的变量:

"availabilityZone": "[parameters('availabilityZoneParameter')]"

原始部署文件中的磁盘创建语法:

    {
"name": "[variables('diskName')]",
"type": "Microsoft.Compute/disks",
"apiVersion": "2017-03-30",
"location": "[resourceGroup().location]",
"zones": [ "[variables('availabilityZone')]" ],
"sku": {
"name": "Standard_LRS"
},
"properties": {
"creationData": {
"createOption": "Empty"
},
"diskSizeGB": 1023
}
},

原始部署模板中的虚拟机参数,输入到链接模板中:

      "name": "PAN-VM",
"type": "Microsoft.Resources/deployments",
"apiVersion": "2018-05-01",
"dependsOn": [
"[concat('Microsoft.Compute/disks/', variables('diskName'))]",
"Microsoft.Resources/deployments/SettingUpVirtualNetwork",
"Microsoft.Resources/deployments/SettingUpPublicIP",
"Microsoft.Resources/deployments/SetupNetworkInterfaces"
],
"properties": {
"mode": "Incremental",
"templateLink": {
"uri": "[concat(variables('virtualMachineTemplate'), parameters('artifactsLocationSasToken'))]",
"contentVersion": "1.0.0.5"
},
"parameters": {
"avZone": {
"value": "[variables('availabilityZone')]"

虚拟机模板参数:

    "avZone": {
"type": "string"

虚拟机模板变量:

  "variables": {
"apiVersion": "2018-04-01",
"availabilityZone": "[parameters('avZone')]"

虚拟机模板资源(调用参数):

  "resources": [
{
"apiVersion": "[variables('apiVersion')]",
"type": "Microsoft.Compute/virtualMachines",
"name": "[parameters('vmName')]",
"location": "[parameters('location')]",
"zones": "[variables('availabilityZone')]",
"plan": {
"name": "[parameters('imageSku')]",
"product": "[parameters('imageOffer')]",
"publisher": "[parameters('imagePublisher')]"
},
"properties":

对于上下文 - 这里有几个文件在起作用。一个初始 azureparameters 文件、一个 azuredeploy 文件,然后是至少两个也依赖于可用区值的链接模板。

有关正确语法的任何建议吗?

最佳答案

根据我在网上找到的例子,应该是这样的:

"availabilityZoneParameter": {
"value": [ "1" ]
}

另外,它应该是数组:

"availabilityZoneParameter": {
"type": "array"
}

因为它除了数组,而不是看起来像数组的字符串:

https://github.com/Azure/azure-quickstart-templates/blob/master/101-vm-simple-zones/azuredeploy.json#L176

关于Azure 可用区参数语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54806465/

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