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

如何在Terraform中配置可通过字符串键引用的for_each资源实例

Terraform字符串键引用资源实例解决方案

你当前给出的for_each配置本身已经支持通过字符串值作为键引用资源实例,无需额外添加其他配置:

  • 当for_each传入的是toset(字符串元素集合)时,生成的资源实例的索引键天然就是集合内的字符串值,直接写type.myspecialresource["some thing"]即可正常引用对应实例。
  • 如果你目前只能通过数字下标引用实例,说明你实际的资源配置用的是count参数而非for_each:count参数生成的资源实例默认采用数字下标索引,你只需要将count配置替换为你示例中的for_each = toset(["some thing", "some other thing"])即可。

注意:Terraform语法要求资源声明的左大括号{需要紧跟在资源标识之后,不要单独换行,避免出现解析错误,正确的资源定义写法参考如下:

resource "type" "myspecialresource" {
   for_each = toset(["some thing", "some other thing"])
   # 其他资源配置项
}

如果你后续需要为每个实例绑定额外的自定义属性,也可以将for_each的值替换为map类型,写法为for_each = { "some thing" = "自定义值1", "some other thing" = "自定义值2" },仍然可以通过字符串键引用实例,同时还能通过each.value获取对应实例的自定义属性值。

内容的提问来源于stack exchange,提问作者JᴀʏMᴇᴇ

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 12:18:02