使用Terraform部署Azure Linux Web App时遇app_settings不支持块错误
问题原因与解决方案
原因
在AzureRM Provider 3.x版本(包括你使用的3.89.0)中,azurerm_linux_web_app资源的app_settings已从块结构调整为键值对映射参数,不再支持app_settings { ... }的块语法定义。即便官方文档可能存在更新延迟,但当前Provider的实际schema已完成该变更,因此会抛出"Unsupported block type"错误。
解决方法
将app_settings的块语法替换为映射参数形式,使用等号=赋值:
修改后的资源配置代码:
resource "azurerm_linux_web_app" "web_app" { name = "pi" resource_group_name = azurerm_resource_group.resource_group.name location = azurerm_service_plan.service_plan.location service_plan_id = azurerm_service_plan.service_plan.id site_config { } app_settings = { MYSETTING = "some value" } }
修改完成后重新运行Terraform命令,即可正常完成部署。
内容的提问来源于stack exchange,提问作者mark_h
相关产品推荐
相关产品推荐

