当我尝试使用以下命令创建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一起工作以及我在这里可能会缺少什么?
答案 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时起作用