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

Terraform模块中使用for_each动态访问Map对象的语法问题

解决Terraform中通过each.key动态获取Map值的语法问题

你的问题出在动态访问Map键的语法错误,Terraform中不能在点符号链里用${each.key}这种插值语法,正确的方式是用方括号[]来包裹动态键。

修正后的模块代码

module "dynamo_create" {
  source = "../modules/dynamodb"
  for_each = toset(var.dynamo_without_index)
  read_capacity = var.accounts[terraform.workspace].dynamodb[each.key].read_capacity
}

语法说明

  • Terraform的Map访问规则:
    • 静态键可以用点符号:比如var.accounts.dev.dynamodb
    • 动态键(如each.key这种变量)必须用方括号索引:dynamodb[each.key]
  • 修正后,当each.key为employee时,表达式会正确定位到var.accounts.dev.dynamodb.employee.read_capacity,取值为2。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 02:17:10