You need to enable JavaScript to run this app. Terraform中lookup函数的作用是什么?如何正确使用?
优惠活动
大模型
产品
解决方案
定价
更多

Terraform中lookup函数的作用是什么?如何正确使用?

Terraform lookup 函数详解

核心作用与适用类型

lookup 是 Terraform 内置的取值函数,仅支持对 map 类型的数据进行查询,不支持 list 类型。
它的核心作用是从指定 map 中根据输入的 key 获取对应的 value,支持配置兜底默认值,无需提前判断 key 是否存在,避免 key 不存在时直接抛出执行错误。

基础语法

lookup(<目标map>, <要查询的key>, <可选: 默认值>)

参数说明:

  • 第一个参数:需要查询的 map 对象
  • 第二个参数:目标查询 key 的名称
  • 第三个参数:可选配置,当查询的 key 不存在于 map 中时,会返回该值;如果不填该参数,查询不存在的 key 时会直接报错终止执行

实际使用示例

先定义一个 map 类型的变量用于演示:

variable "env_instance_type" {
  type = map(string)
  default = {
    prod = "c5.large"
    test = "t3.micro"
  }
}
  1. 查询存在的 key
# 运行结果返回 "c5.large"
lookup(var.env_instance_type, "prod")
  1. 查询不存在的 key,配置默认值
# map 中不存在 dev 这个key,运行结果返回默认值 "t2.micro"
lookup(var.env_instance_type, "dev", "t2.micro")
  1. 查询不存在的 key,未配置默认值
# 直接抛出错误,提示 key "dev" does not exist in map
lookup(var.env_instance_type, "dev")

补充说明:Terraform 0.12 及更高版本支持方括号语法 var.env_instance_type["prod"] 直接取值,但该语法不支持默认值配置,key 不存在时会直接报错,适合确认 key 一定存在的场景;lookup 更适合存在可选 key、需要兜底默认值的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.22 00:45:05