从Node.js创建WebApp资源时,“参数LinuxFxVersion具有无效值”

时间:2019-10-30 19:35:54

标签: azure azure-web-app-service

我正在尝试在Node.js环境中使用适用于JS的Azure SDK创建一个简单的WebApp,但始终得到响应:

vh

我尝试了各种不同的属性和环境,但均未成功。我总是会收到此错误。这是我正在使用的TypeScript代码的片段:

{
  "Code":"BadRequest",
  "Message":"The parameter LinuxFxVersion has an invalid value.",
  "Target":null,
  "Details":[
    {"Message":"The parameter LinuxFxVersion has an invalid value."},
    {"Code":"BadRequest"},
    {"ErrorEntity": {
        "ExtendedCode":"01007",
        "MessageTemplate":"The parameter {0} has an invalid value.",
        "Parameters":["LinuxFxVersion"],
        "Code":"BadRequest",
        "Message":"The parameter LinuxFxVersion has an invalid value."}
    }],
  "Innererror":null
}

我在做什么错了?

2 个答案:

答案 0 :(得分:3)

原因

您的应用服务计划不是Linux,实际上是Windows。 Windows主机没有参数LinuxFxVersion。

如果我们在未将主机明确配置为Linux的情况下创建站点,则默认情况下它将是Windows主机/ serverFarm / app服务计划。仅使用{“ kind”:“ linux”}。

解决方案

在Linux中明确定义应用程序服务计划,并确保{"reserved": true}将其设置为Linux主机(See documentation

{
    "type": "Microsoft.Web/serverfarms",
    "apiVersion": "2019-08-01",
    "name": "[parameters('hostingPlanName')]",
    "location": "[parameters('location')]",
    "kind": "app,linux",
    "properties": {
        "reserved": true
    },
    "sku": {
        "Tier": "[parameters('hostingPlanSkuTier')]",
        "Name": "[parameters('hostingPlanSkuName')]"
    }
}

答案 1 :(得分:0)

我测试了您的json数据,这是您的properties造成的。您的json数据没有“ properties”属性。如果要使用json属性创建网站,请检查此网络应用程序Rest API请求正文:Web Apps - Create Or Update

正确的格式应类似于以下示例:

  {
    "location": "CentralUS",
    "kind":"app,linux",
    "properties":{
          "serverFarmId":"your Resource ID",
        "siteConfig":{
            "linuxFxVersion":"JAVA|11-java11"
        }
    }

 }