我已使用以下命令针对新的消费计划创建了一个功能应用程序:
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 show
和NorthEuropePlan
运行myconsumptionplan
时,返回的对象的唯一区别是名称。
答案 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-pan
,storage
和functionapp
。
部署将在运行时询问参数名称(appName)。