单独 JSON 文件中的 Terraform Bigquery 表架构
Posted
技术标签:
【中文标题】单独 JSON 文件中的 Terraform Bigquery 表架构【英文标题】:Terraform Bigquery Table Schema in a separate JSON file 【发布时间】:2022-01-22 06:19:01 【问题描述】:我知道我们可以在 Terraform 文件中定义表模式。我的问题是,有没有办法在单独的文件中定义模式,然后 Terraform 在运行时导入它。这样它将提供更好的管理和可读性
resource "google_bigquery_table" "default"
dataset_id = google_bigquery_dataset.default.dataset_id
table_id = "bar"
time_partitioning
type = "DAY"
labels =
env = "default"
**schema = <<EOF
[
"name": "permalink",
"type": "STRING",
"mode": "NULLABLE",
"description": "The Permalink"
]**
EOF
所以基本上我要问的是如何将架构部分移动到单独的文件中,并在运行时 TF 导入。
【问题讨论】:
【参考方案1】:如果架构不会动态生成,那么您可以为此使用file
function:
schema = file("$path.module/nested_path_to/schema.json")
schema.json:
[
"name": "permalink",
"type": "STRING",
"mode": "NULLABLE",
"description": "The Permalink"
]
如果架构是动态生成的,那么您应该为此使用templatefile
function:
schema = templatefile("$path.module/nested_path_to/schema.json.tmpl", variable_name = variable_value )
【讨论】:
非常感谢马特以上是关于单独 JSON 文件中的 Terraform Bigquery 表架构的主要内容,如果未能解决你的问题,请参考以下文章
将现有 Azure 资源导入本地 Terraform 状态文件
将 terraform HCL 变量 type=map(any) 转换为 JSON
通过 Terraform 运行“aws stepfunctions update-state-machine”时出现 Json 解析错误