Terraform 将地图简化为地形中的字符串

Terraform 将地图简化为地形中的字符串,terraform,Terraform,我有一个map变量,我想把它简化为一个字符串 我的变量如下所示: my_map = { key1 = "value1" key2 = "value2" key3 = "value3" } 我希望将其简化为key1:value1,key2:value2,key3:value3 查看terraform文档时,我找不到任何缩小地图的功能,但可能我遗漏了一些东西 如果有任何帮助,我们将不胜感激。您可以分别使用键和值,从地图中获取键列表和另一个值列表 然后,您可以使用formatlist函数

我有一个map变量,我想把它简化为一个字符串

我的变量如下所示:

my_map = {
  key1 = "value1"
  key2 = "value2"
  key3 = "value3"
}
我希望将其简化为
key1:value1,key2:value2,key3:value3

查看terraform文档时,我找不到任何缩小地图的功能,但可能我遗漏了一些东西


如果有任何帮助,我们将不胜感激。

您可以分别使用
键和
值,从地图中获取键列表和另一个值列表

然后,您可以使用
formatlist
函数将这些列表格式化为由冒号连接在一起的列表字符串列表

variable "my_map" {
  default = {
    key1 = "value1"
    key2 = "value2"
    key3 = "value3"
  }
}

locals {
  my_list = formatlist("%s:%s", keys(var.my_map), values(var.my_map))
}

output "my_string" {
  value = join(",", local.my_list)
}
最后,您可以通过使用
join
函数将列表中的这些元素的单个字符串通过逗号连接在一起

variable "my_map" {
  default = {
    key1 = "value1"
    key2 = "value2"
    key3 = "value3"
  }
}

locals {
  my_list = formatlist("%s:%s", keys(var.my_map), values(var.my_map))
}

output "my_string" {
  value = join(",", local.my_list)
}

您可以分别使用
从地图中获取键列表和另一个值列表

然后,您可以使用
formatlist
函数将这些列表格式化为由冒号连接在一起的列表字符串列表

variable "my_map" {
  default = {
    key1 = "value1"
    key2 = "value2"
    key3 = "value3"
  }
}

locals {
  my_list = formatlist("%s:%s", keys(var.my_map), values(var.my_map))
}

output "my_string" {
  value = join(",", local.my_list)
}
最后,您可以通过使用
join
函数将列表中的这些元素的单个字符串通过逗号连接在一起

variable "my_map" {
  default = {
    key1 = "value1"
    key2 = "value2"
    key3 = "value3"
  }
}

locals {
  my_list = formatlist("%s:%s", keys(var.my_map), values(var.my_map))
}

output "my_string" {
  value = join(",", local.my_list)
}

这正是我想要的,谢谢分享。在一行中使用相同的方法:
join(“,”,formatlist(“%s:%s”),键(var.my_map),值(var.my_map))
Yep,我只是想显示中间结果,所以你可以从一个映射到另一个列表再到字符串。这正是我想要的,谢谢分享。在一行中使用相同的方法:
join(“,”,formatlist(“%s:%s”),键(var.my_映射),值(var.my_映射))
Yep,我只是想显示中间结果,所以您可以从映射到列表再到字符串。