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

如何在Terraform中从动态键的Set中提取id组成字符串列表

Terraform 动态键映射提取属性值解决方案

你遇到的报错是因为 * splat 表达式仅适配列表/集合类型,无法直接作用于动态键的对象映射结构。

你可以先通过内置的 values() 函数提取映射中所有的值对象,再使用splat表达式提取id属性即可,示例代码如下:

output "email_channels_keys" {
  value = values(var.emails)[*].id
}

逻辑说明

  • values(var.emails) 会把你持有的动态键对象映射转换为纯属性值的列表,转换后结构如下:
    [
      { id = "5", name = "A" },
      { id = "6", name = "A" }
    ]
    
  • [*].id 对转换后的列表使用splat语法,批量提取每一项的id属性,最终得到你需要的字符串列表。

如果有额外处理需求,可以搭配其他内置函数实现:

  • 结果去重:distinct(values(var.emails)[*].id)
  • 按字典序排序:sort(values(var.emails)[*].id)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 15:57:03