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

如何阻止Terraform中APIM产品自动创建默认订阅?

解决APIM产品自动生成默认订阅的问题

问题分析

部署APIM产品时自动生成了默认订阅,与手动创建的订阅重复。即使设置subscription_required = false或移除该配置,问题仍存在。

解决方案

1. 调整产品的订阅要求配置

将产品的subscription_required设置为true,强制访问产品下的API必须通过订阅。此时APIM不会自动生成默认订阅,只会保留你通过azurerm_api_management_subscription创建的订阅。

修改后的产品代码:

# Product abcd
resource "azurerm_api_management_product" "product8" {
  product_id            = var.product8_id
  api_management_name   = var.api_management_name
  resource_group_name   = var.resource_group_name
  display_name          = var.product8_id
  description           = "abcd"
  subscription_required = true  # 改为true
  approval_required     = false
  published             = true
}

2. 清理残留的自动订阅

如果之前的部署已生成默认订阅,需要完成以下清理:

  • 登录Azure门户,进入APIM实例的「订阅」页面,删除自动生成的默认订阅。
  • 运行terraform state list查看是否存在未在配置中定义的订阅资源,若有则执行terraform state rm <resource-address>从状态文件中移除。

3. 排查其他订阅创建逻辑

检查所有Terraform配置文件,确认没有其他模块、脚本或资源自动创建订阅,比如第三方模块的默认订阅生成逻辑、循环创建订阅的代码片段等。

验证部署

修改配置后重新执行terraform apply,此时APIM只会创建你定义的azurerm_api_management_subscription.abcd订阅,不会生成额外的默认订阅。

内容的提问来源于stack exchange,提问作者Obaidur Rahman Syed

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 20:57:39