You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure ARM模板部署失败:ResourceSku对象中找不到'type'成员

Azure ARM模板部署失败:ResourceSku对象中找不到'type'成员

我来帮你搞定这个部署问题~你遇到的错误根源很明确:App Service Plan的SKU配置格式写错了,我们来一步步修正它。

错误原因分析

你看到的错误提示Could not find member 'type' on object of type 'ResourceSku',对应模板里Microsoft.Web/serverfarms资源的SKU部分——你错误地使用了type属性,但这个属性根本不属于ResourceSku对象。

单独部署存储账户能成功,是因为存储账户的SKU配置是正确的(用了name属性指定SKU),但加上App Service Plan的错误配置后,整个模板解析直接失败了。

修正方案

把App Service Plan资源里的SKU配置部分,替换成正确的格式:原来的"type": "string"要删掉,改用name来指定SKU名称(比如免费层的F1)。

修正后的App Service Plan资源代码如下:

{
  "type": "Microsoft.Web/serverfarms",
  "apiVersion": "2021-02-01",
  "name": "[variables('uniqueappplanname')]",
  "location": "[parameters('location')]",
  "sku": {
    "name": "F1" // 这里用name指定具体的SKU,比如F1、B1、S1等
  },
  "properties": {
    "reserved": false
  }
}

如果你想让App Service Plan的SKU支持参数化配置(就像存储账户的storagesku参数那样),也可以先在parameters里新增一个参数,比如:

"appserviceplanskus": {
  "type": "string",
  "defaultValue": "F1"
}

然后在SKU部分引用这个参数:"name": "[parameters('appserviceplanskus')]"

完整修正后的ARM模板

这里给你整理好整个可以正常部署的模板:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storagename": {
      "type": "string",
      "minLength": 4,
      "maxLength": 20
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    },
    "storagesku": {
      "type": "string",
      "defaultValue": "Standard_LRS"
    },
    "appserviceplanname": {
      "type": "string"
    },
    "appname": {
      "type": "string"
    },
    "appserviceplanskus": {
      "type": "string",
      "defaultValue": "F1"
    }
  },
  "functions": [],
  "variables": {
    "uniquestoragename": "[concat(parameters('storagename'),uniqueString(resourceGroup().id))]",
    "uniqueappplanname": "[concat(parameters('appserviceplanname'),uniqueString(resourceGroup().id))]",
    "uniqueappname": "[concat(parameters('appname'),uniqueString(resourceGroup().id))]"
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "name": "[variables('uniquestoragename')]",
      "apiVersion": "2021-04-01",
      "tags": {
        "displayName": ""
      },
      "location": "[parameters('location')]",
      "kind": "StorageV2",
      "sku": {
        "name": "[parameters('storagesku')]"
      }
    },
    {
      "type": "Microsoft.Web/serverfarms",
      "apiVersion": "2021-02-01",
      "name": "[variables('uniqueappplanname')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('appserviceplanskus')]"
      },
      "properties": {
        "reserved": false
      }
    },
    {
      "type": "Microsoft.Web/sites",
      "apiVersion": "2021-02-01",
      "name": "[variables('uniqueappname')]",
      "location": "[parameters('location')]",
      "properties": {
        "httpsOnly": false
      },
      "dependsOn": [
        "[resourceId('Microsoft.Web/serverfarms', variables('uniqueappplanname'))]"
      ]
    }
  ],
  "outputs": {}
}

另外我还给你修正了Web App的dependsOn引用,用resourceId来确保依赖关系的正确性,避免潜在的部署顺序问题。

现在用这个修正后的模板重新执行PowerShell部署命令,应该就能顺利完成了。

备注:内容来源于stack exchange,提问作者Abhishek Upadhyay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 07:44:58