使用Terraform数据块获取Azure容器应用环境名称时遇工作区未找到错误
解决方法
因为azurerm_container_app_environment数据源会强制校验关联的Log Analytics工作区状态,你已经删除了工作区,所以触发报错。要绕开这个校验只获取环境名称,直接使用通用的Azure资源数据源即可:
替换原代码为:
data "azurerm_resource" "containerappenv_data" { name = "development" resource_group_name = data.azurerm_resource_group.rg_data.name type = "Microsoft.App/managedEnvironments" } output "container_app_environment_name" { value = data.azurerm_resource.containerappenv_data.name }
原理说明
azurerm_resource是通用的Azure资源查询数据源,只会读取资源的基础元数据(名称、ID、资源类型等),不会主动查询关联的Log Analytics工作区,刚好适配你删除工作区但仅需获取环境名称的场景。后续如果容器应用需要引用环境ID,直接使用data.azurerm_resource.containerappenv_data.id即可,完全满足需求。
内容的提问来源于stack exchange,提问作者Datfreak
相关产品推荐
相关产品推荐

