将 Function App 计划从消耗更新为标准时出现意外错误。但仅限于部分人

问题描述 投票:0回答:2

在使用 Terraform 更新 Function Apps 来修改现有资源时,我遇到了以下问题。有7个功能应用程序。 1 使用标准的非消耗计划。另外 6 个有消费计划。更新了计划以将所有内容设置为标准的非消耗计划。

在 terraform apply 期间,6 个中只有 2 个从消耗变为非消耗,并且这 2 个失败是可重复的。我没有看到任何资源差异可以解释它。

Error: updating Function App "FunctionAppThatFailed" (Resource Group "rg-group-dev"): 
web.AppsClient#CreateOrUpdate: Failure sending request: StatusCode=400 -- Original Error: 
Code="BadRequest" Message="Number of Web workers must be greater than zero." Details=[{"Message":"Number of Web workers must be greater than zero."},{"Code":"BadRequest"},{"ErrorEntity":{"Code":"BadRequest","ExtendedCode":"04004","Message":"Number of Web workers must be greater than zero.","MessageTemplate":"Number of Web workers must be greater than zero.","Parameters":[]}}]

任何提示、我可能错过的检查事项、解决方案等都绝对受欢迎。

azure azure-functions terraform-provider-azure
2个回答
3
投票

通过与最近创建的环境进行比较,我发现了导致这两个失败的原因。

如果调用 Azure REST API 端点来获取函数应用定义,您将发现属性“numberOfWorkers”设置为 -1。在较新的函数应用程序上,它设置为 1。我认为 Azure API 用于使用 -1 创建基于消耗的函数应用程序。目前它使用 1 创建它们,因此这应该只是在 2021 年初及之前创建的函数应用程序上出现的问题。

使用 REST API,我在有问题的函数应用程序上将该属性更新为 1。进行此更改后,切换到标准计划效果很好。

使用的 Azure REST API 端点: 获取站点 更新网站


0
投票

更新“numberOfWorkers”属性有效。您还可以使用 resources.azure.com 进行编辑。

© www.soinside.com 2019 - 2024. All rights reserved.