无法通过高级服务计划部署Azure功能

时间:2020-06-19 07:34:58

标签: azure azure-functions azure-function-app

当我尝试使用以下命令创建FunctionApp高级计划时:

# Create a Resource Group
az group create \
    --name $rg_name \
    --location $az_loc

# Create a Function App Storage Account
az storage account create \
    --name $fa_storage_name \
    --resource-group $rg_name \
    --location $az_loc \
    --sku Standard_LRS

# Create a Premium plan
az functionapp plan create \
    --name $fap_name \
    --resource-group $rg_name \
    --location $az_loc \
    --sku P2v2

我收到一个错误:

无法在当前环境中创建请求的应用服务计划 资源组,因为它托管Linux应用程序。请选择一个 不同的资源组或创建一个新的资源组。

我也尝试了sku EP2,但结果相同。确实很难在docs(!)中找到SKU。有谁知道哪个sku与Linux Azure Functions一起工作以及我在这里可能会缺少什么?

3 个答案:

答案 0 :(得分:0)

这是常见错误。

解决方案是创建一个新的资源组并将功能应用程序放入其中。

问题来自基于Windows的Azure功能计划和基于Linux的天蓝色功能计划之间的冲突。

创建新的资源组是唯一的方法,并且请注意在开发中基于linux和Windows的功能分开。

答案 1 :(得分:0)

这就是为我工作的最终结果。请注意--is-linux true中的az functionapp plan create标志和--plan中的az functionapp create标志:

# Create a Premium plan
az functionapp plan create \
  --name $fap_name \
  --is-linux true \
  --resource-group $rg_name \
  --location $az_loc \
  --sku EP2

# Create Function App (container for Azure Function)
#--consumption-plan-location $az_loc \
az functionapp create \
  --name $fa_name \
  --resource-group $rg_name \
  --storage-account $fa_storage_name \
  --plan $fap_name \
  --os-type Linux \
  --runtime python \
  --runtime-version 3.7 \
  --subscription $az_sub \
  --functions-version 2

答案 2 :(得分:0)

当前存在一个限制,即Windows和Linux应用程序不能存在于同一资源组中。

https://docs.microsoft.com/en-us/azure/app-service/containers/app-service-linux-intro#limitations

因此,它在部署Windows资源时失败,并且在--is-linux设置为true时起作用