【问题标题】:Unable to deploy Azure Function with Premium Service Plan无法使用高级服务计划部署 Azure Function
【发布时间】:2020-06-21 18:45:43
【问题描述】:

当我尝试使用以下命令创建 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,结果相同。 SKU 真的很难在文档中找到(!)。有谁知道哪个 sku 可以与 Linux Azure Functions 一起使用,以及我在这里可能缺少什么?

【问题讨论】:

  • 这是功能计划冲突。请在新的资源组中创建或在没有冲突计划的资源组中创建..

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


【解决方案1】:

这是常见错误。

解决办法是新建一个资源组,把函数应用放进去。

问题来自于基于windows的azure function plan与基于linux的冲突。

创建一个新的资源组是唯一的方法,在你的开发中注意基于linux和windows的功能分开。

【讨论】:

  • 这是作为脚本的一部分创建的。创建新的资源组、存储帐户、函数应用计划 (SKU: P2v2)、函数应用和其他资源。该错误作为脚本运行的一部分弹出。
【解决方案2】:

这就是最终为我工作的东西。注意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

【讨论】:

    【解决方案3】:

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

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

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

    【讨论】:

    • 嗯。我只部署了 Python 函数应用程序。它们都是基于 Linux 的。 (此时)Windows 应用程序不处理 Python 运行时。
    • 根据您答案中的链接,截至 2021 年 1 月,这已不再正确。
    猜你喜欢
    • 2022-11-02
    • 2014-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-30
    • 2017-11-05
    • 2016-03-21
    • 1970-01-01
    相关资源
    最近更新 更多