根据现有的消费计划创建Azure功能应用

时间:2019-01-30 15:11:32

标签: azure azure-functions azure-cli azure-app-service-plans

我已使用以下命令针对新的消费计划创建了一个功能应用程序:

az functionapp create
    --resource-group myresourcegroup 
    --storage-account mystorageaccount 
    --name myfunctionapp
    --runtime node
    --consumption-plan-location northeurope 

这将正确创建功能应用程序,但是该应用程序服务计划称为NorthEuropePlan,不符合我遵循的命名准则。我看不到anything in the docs可以更改此名称。

因此,我想先创建一个应用程序服务计划,作为消费计划(Y1 Dynamic层),然后针对该计划创建一个功能应用程序。

az resource create
    --resource-group myresourcegroup
    --name myconsumptionplan
    --resource-type Microsoft.web/serverfarms
    --is-full-object
    --properties "{\"location\":\"northeurope\",\"sku\":{\"name\":\"Y1\",\"tier\":\"Dynamic\"}}"

该命令正常工作,并为我创建了一个应用服务计划。但是,当我尝试使用该计划(将--consumption-plan-location northeurope替换为--plan myconsumptionplan)时,出现以下错误:

  

发生了冲突。由于计划不允许,因此无法为此网站设置AlwaysOn。

制定应用服务计划时是否需要指定其他配置?

当我对az appservice plan showNorthEuropePlan运行myconsumptionplan时,返回的对象的唯一区别是名称。

1 个答案:

答案 0 :(得分:2)

当您使用--plan时,我相信运行时会认为这是一项应用服务计划,并将配置Always ON中不允许的consumption plan,所以我想您不能这样做就像你的工作方式。

您可以使用ARM模板来实现。下面是示例命令:

az group create 
        --name ExampleGroup 
        --location "North Europe"

az group deployment create 
        --name ExampleDeployment 
        --resource-group ExampleGroup 
        --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-function-app-create-dynamic/azuredeploy.json"

template-uri中提到的URL是示例模板,它将创建consumption-panstoragefunctionapp

部署将在运行时询问参数名称(appName)。