无法使用高级服务计划部署 Azure 函数



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

# 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 应用。请选择一个 不同的资源组或创建一个新的资源组。

我也尝试了 skuEP2,结果相同。SKU真的很难在文档中找到(!有谁知道哪个SKU适用于Linux Azure Functions,以及我在这里可能缺少什么?

这是常见的错误。

解决方案是创建新的资源组并将函数应用放入其中。

问题来自基于Windows的azure函数计划和基于Linux之间的冲突。

创建新的资源组是唯一的方法,请注意在开发中根据 linux 和 windows 分离功能。

这是最终对我有用的东西。请注意az functionapp plan create中的--is-linux true标志和az functionapp create中的--plan标志:

# 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

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

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

因此,它在部署 Windows 资源时失败,而在 --is-linux 设置为 true 时工作

最新更新