使用Terraform为Azure API Management的API设置标签的方法咨询
问题解答
1. 是否遗漏配置项
azurerm_api_management_api 资源原生支持标签配置,你无需额外创建独立标签资源,直接在现有资源块内添加tags参数即可,修改后的配置示例如下:
resource "azurerm_api_management_api" "test" { name = "test*******" display_name = "Test*******" api_management_name = data.azurerm_api_management.example.name resource_group_name = data.azurerm_api_management.example.resource_group_name revision = "1" protocols = ["https"] subscription_required = true path = "test****" # 标签配置,键值对可自定义 tags = { Environment = "Test" Business = "XXX" Owner = "XXX" } subscription_key_parameter_names { header = "Ocp-Apim-Subscription-Key" query = "subscription-key" } }
配置完成后执行terraform plan和terraform apply即可完成标签绑定,和APIM管理界面的标签功能完全一致。
你提到的界面截图如下:
2. Terraform是否支持该功能
所有v3.0及以上稳定版的AzureRM Provider都支持APIM API资源的标签配置,不存在功能缺失。如果配置后不生效,可先将AzureRM Provider升级到最新稳定版再重试。
3. 工具选择建议
- 如果你已经在用Terraform管理全量基础设施,无需切换到ARM模板或PowerShell,直接用现有Terraform配置添加标签即可,可保持IaC配置的统一性,避免多工具混用导致的状态不同步问题。
- 如果你只是临时需要给少量API打标签、不需要纳入长期IaC管理,可以用PowerShell做单次操作;如果需要将标签规则纳入标准化部署流程,Terraform和ARM模板均可,优先选择团队当前正在使用的工具即可。
内容的提问来源于stack exchange,提问作者Bodruch
相关产品推荐
相关产品推荐

