Terraform azurerm 2.81配置azurerm_data_factory的global_parameter报错如何解决
报错解决方案
根因说明
你使用的azurerm provider 2.81版本中,global_parameter不是azurerm_data_factory的顶层参数,而是需要单独声明的嵌套块。你查阅的是最新版官方文档,只有3.0及以上版本的azurerm provider才支持将global_parameter作为map类型的顶层参数直接赋值,旧版本不兼容该写法,所以会出现对应报错提示。
两种解决路径
路径1:不升级provider版本,调整配置语法
将配置里的global_parameter = {}替换为嵌套块格式即可,修改后配置示例:
resource "azurerm_data_factory" "adf" { name = "adf-${var.project}" location = var.az_location resource_group_name = azurerm_resource_group.rg.name tags = { environment = var.environment project = var.project } # 没有全局参数时直接写空块 global_parameter { } # 如果需要配置全局参数,每个参数对应一个global_parameter块,参考示例: # global_parameter { # name = "env" # type = "String" # value = var.environment # } }
修改后重新执行terraform validate即可正常通过校验。
路径2:升级azurerm provider版本
如果要保留global_parameter = {}的map赋值写法,可以把azurerm provider版本升级到3.0及以上。升级前请检查所有关联资源的语法兼容性,避免触发其他不兼容报错。
内容的提问来源于stack exchange,提问作者Mister Mister
相关产品推荐
相关产品推荐

