如何将列表作为环境变量传递给 Terraform 使用?

How to pass pass a list as env variables to be consumed by Terraform?

我正在开发一个包含这样一个变量的 terraform 项目:

variable "datalake_layers" {
  type = list
  default = ["raw", "bronze", "silver", "gold"]
}

现在我想通过环境(os 变量)传递列表。我传递其他 os 变量的方式是在执行 terraform 命令之前通过 运行 config.sh 文件。 shell 脚本的内容如下所示:

export TF_VAR_tfinfra_storage_akey="some_storage_key"
export TF_VAR_rg_name="some_resourcegroup_name"

如何使用列表而不是字符串实现类似的设置?我可以像这样设置环境变量并以某种方式将其转换为 Terraform 列表吗?我找不到办法做到这一点。或者有更好的方法吗?

export TF_VAR_datalake_layers="["raw", "bronze", "silver", "gold"]"

是的,但是你必须使用单引号:

export TF_VAR_datalake_layers='["raw", "bronze", "silver", "gold"]'