You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Terraform创建Azure API应用?遇kind属性配置报错求解决

解决Terraform创建带专属图标的Azure API应用问题

你遇到的错误是因为新版AzureRM Provider中,kind字段会根据配置自动推导,无法手动指定。要创建带API专属图标的Azure应用,可通过以下方式实现:

  • 不要手动设置kind属性,交由Provider自动处理
  • 在azurerm_windows_web_app的site_config中添加api_config块,以此标识这是一个API应用,Azure会自动为其分配专属图标

示例Terraform代码

resource "azurerm_resource_group" "api_rg" {
  name     = "api-resource-group"
  location = "East Asia"
}

resource "azurerm_service_plan" "api_sp" {
  name                = "api-service-plan"
  resource_group_name = azurerm_resource_group.api_rg.name
  location            = azurerm_resource_group.api_rg.location
  os_type             = "Windows"
  sku_name            = "B1"
}

resource "azurerm_windows_web_app" "api_app" {
  name                = "my-demo-api-app"
  resource_group_name = azurerm_resource_group.api_rg.name
  location            = azurerm_resource_group.api_rg.location
  service_plan_id     = azurerm_service_plan.api_sp.id

  site_config {
    api_config {
      # 可指定API定义文件地址,也可仅保留空块(仅需存在api_config即可触发API应用标识)
      api_definition_url = "https://raw.githubusercontent.com/Azure-Samples/azure-api-management-samples/master/samples/apis/petstore/swagger.json"
      enable_http2       = true
    }

    application_stack {
      dotnet_version = "6.0"
    }
  }
}

说明

  • 只要site_config中存在api_config块,AzureRM Provider会自动将kind设置为api,app,Azure门户就会显示API应用的专属图标
  • 如果不需要绑定API定义文件,api_config块可以仅保留结构(比如只写api_config {}),同样能触发API应用的标识逻辑
  • 若使用Linux环境,替换为azurerm_linux_web_app资源,配置逻辑完全一致

内容的提问来源于stack exchange,提问作者KungWaz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 08:56:05