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

Terraform无实际文件时,如何将template_file转为templatefile函数?

替换Terraform的template_file为templatefile函数(无实际文件场景)

你的原代码里用data "template_file"属于冗余写法,本质是直接构造JSON结构,完全不需要通过模板模块实现,最简洁的替代方式是直接用本地值生成JSON:

locals {
  test1 = jsonencode([
    {
      name      = "MY_KEY"
      valueFrom = "${local.ssm_path}/MY_KEY"
    }
  ])
}

关于templatefile函数的说明

templatefile函数必须传入实际文件路径作为第一个参数,没有办法直接用内联字符串作为模板内容。如果一定要用templatefile,你需要先创建一个模板文件,比如在模块目录下新建templates/env_var.tpl,内容如下:

[
  {
    "name": "MY_KEY",
    "valueFrom": "${ssm_path}/MY_KEY"
  }
]

然后在Terraform代码中调用:

locals {
  test1 = templatefile("${path.module}/templates/env_var.tpl", {
    ssm_path = local.ssm_path
  })
}

额外优化

原代码中的concat函数是多余的——你只传入了一个数组参数,直接写数组即可,不需要嵌套concat。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 14:53:19