使用 ARM 模板创建 Microsoft.Web/serverfarms 资源
creating a Microsoft.Web/serverfarms resource using ARM template
我的 ARM 模板中指定了以下资源:
{
"type": "Microsoft.Web/serverfarms",
"apiVersion": "2015-04-01",
"name": "[variables('hostingPlanName')]",
"location": "[parameters('location')]",
"properties": {
"name": "[variables('hostingPlanName')]",
"computeMode": "Dynamic",
"sku": "Dynamic"
}
}
我正在尝试通过以下方式部署此模板:
az group deployment create --resource-group myresgroup --template-file .\template.json --parameters .\parameters.json
我收到以下异常:
Deployment failed. Correlation ID: 19355715-ab4b-4eec-bec7-474c43f02f87. {
"Code": "BadRequest",
"Message": "The parameter sku has an invalid value.",
"Target": null,
"Details": [
{
"Message": "The parameter sku has an invalid value."
},
{
"Code": "BadRequest"
},
{
"ErrorEntity": {
"ExtendedCode": "51008",
"MessageTemplate": "The parameter {0} has an invalid value.",
"Parameters": [
"sku"
],
"Code": "BadRequest",
"Message": "The parameter sku has an invalid value."
}
}
],
"Innererror": null
}
我做错了什么?
要创建服务计划(不是 ASE),您可以参考下面的模板,它在我这边很好用。
{
"$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"name": {
"type": "String"
},
"location": {
"type": "String"
},
"sku": {
"type": "String"
},
"skucode": {
"type": "String"
},
"workerSize": {
"type": "String"
},
"workerSizeId": {
"type": "String"
},
"numberOfWorkers": {
"type": "String"
}
},
"resources": [
{
"type": "Microsoft.Web/serverfarms",
"sku": {
"Tier": "[parameters('sku')]",
"Name": "[parameters('skuCode')]"
},
"kind": "",
"name": "[parameters('name')]",
"apiVersion": "2016-03-01",
"location": "[parameters('location')]",
"properties": {
"name": "[parameters('name')]",
"workerSize": "[parameters('workerSize')]",
"workerSizeId": "[parameters('workerSizeId')]",
"numberOfWorkers": "[parameters('numberOfWorkers')]",
"reserved": false
}
}
]
}
我的测试参数:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"name": {
"value": "joytestplan1"
},
"location": {
"value": "Central US"
},
"sku": {
"value": "Free"
},
"skucode": {
"value": "F1"
},
"workerSize": {
"value": "0"
},
"workerSizeId": {
"value": "0"
},
"numberOfWorkers": {
"value": "1"
}
}
}
sku
不是 properties
的一部分,而是一个单独的字段。将其移出,它应该可以工作:
{
"type": "Microsoft.Web/serverfarms",
"apiVersion": "2015-04-01",
"name": "[variables('hostingPlanName')]",
"location": "[parameters('location')]",
"sku": "Dynamic",
"properties": {
"name": "[variables('hostingPlanName')]",
"computeMode": "Dynamic"
}
}
最新的"apiVersion": "2016-09-01",和旧的不一样,应该这样写。
"sku": {
"name": "XY1",
"tier": "Dynamic",
"size": "XY1",
"family": "XY",
"capacity": 0
},
我的 ARM 模板中指定了以下资源:
{
"type": "Microsoft.Web/serverfarms",
"apiVersion": "2015-04-01",
"name": "[variables('hostingPlanName')]",
"location": "[parameters('location')]",
"properties": {
"name": "[variables('hostingPlanName')]",
"computeMode": "Dynamic",
"sku": "Dynamic"
}
}
我正在尝试通过以下方式部署此模板:
az group deployment create --resource-group myresgroup --template-file .\template.json --parameters .\parameters.json
我收到以下异常:
Deployment failed. Correlation ID: 19355715-ab4b-4eec-bec7-474c43f02f87. {
"Code": "BadRequest",
"Message": "The parameter sku has an invalid value.",
"Target": null,
"Details": [
{
"Message": "The parameter sku has an invalid value."
},
{
"Code": "BadRequest"
},
{
"ErrorEntity": {
"ExtendedCode": "51008",
"MessageTemplate": "The parameter {0} has an invalid value.",
"Parameters": [
"sku"
],
"Code": "BadRequest",
"Message": "The parameter sku has an invalid value."
}
}
],
"Innererror": null
}
我做错了什么?
要创建服务计划(不是 ASE),您可以参考下面的模板,它在我这边很好用。
{
"$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"name": {
"type": "String"
},
"location": {
"type": "String"
},
"sku": {
"type": "String"
},
"skucode": {
"type": "String"
},
"workerSize": {
"type": "String"
},
"workerSizeId": {
"type": "String"
},
"numberOfWorkers": {
"type": "String"
}
},
"resources": [
{
"type": "Microsoft.Web/serverfarms",
"sku": {
"Tier": "[parameters('sku')]",
"Name": "[parameters('skuCode')]"
},
"kind": "",
"name": "[parameters('name')]",
"apiVersion": "2016-03-01",
"location": "[parameters('location')]",
"properties": {
"name": "[parameters('name')]",
"workerSize": "[parameters('workerSize')]",
"workerSizeId": "[parameters('workerSizeId')]",
"numberOfWorkers": "[parameters('numberOfWorkers')]",
"reserved": false
}
}
]
}
我的测试参数:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"name": {
"value": "joytestplan1"
},
"location": {
"value": "Central US"
},
"sku": {
"value": "Free"
},
"skucode": {
"value": "F1"
},
"workerSize": {
"value": "0"
},
"workerSizeId": {
"value": "0"
},
"numberOfWorkers": {
"value": "1"
}
}
}
sku
不是 properties
的一部分,而是一个单独的字段。将其移出,它应该可以工作:
{
"type": "Microsoft.Web/serverfarms",
"apiVersion": "2015-04-01",
"name": "[variables('hostingPlanName')]",
"location": "[parameters('location')]",
"sku": "Dynamic",
"properties": {
"name": "[variables('hostingPlanName')]",
"computeMode": "Dynamic"
}
}
最新的"apiVersion": "2016-09-01",和旧的不一样,应该这样写。
"sku": {
"name": "XY1",
"tier": "Dynamic",
"size": "XY1",
"family": "XY",
"capacity": 0
},