我正在Terraform文件中编写一些长SQL查询,查询如下:
"CREATE TABLE example_${var.name} (id string, name string..........................................)"
为了使查询可读,我希望查询的格式如下,并跨多行
CREATE TABLE example_$(var.name) (
id string,
name string,
................................
)
对于要写成多行的长单行字符串,是否有行延续字符。就像我们可以在Python中使用反斜杠来表示长字符串一样?
我尝试过使用heredoc,但在运行查询时它不起作用。感谢
听起来你的目标是用Terraform定义一个长SQL查询,但要跨越多行,这样你就不需要水平滚动到无穷远或更远。
在我的团队中,我们使用heredoc来实现这一点,尽管你说在你的情况下这是不可能的。
当heredoc不可能时,我的团队使用的另一个想法是连接字符串数组。
例如
locals {
sql = join(",", [
"id string",
"name string",
"address string",
"renter string",
"profession string"
])
}
中的结果
> local.sql
id string,name string,address string,renter string,profession string
我希望我正确理解了你的问题,但如果没有,请告诉我。
PS:Terraform 中的多行字符串有一个悬而未决的问题
使用heredoc字符串语法在Terraform中生成多行字符串。
locals {
sql = <<EOT
CREATE TABLE example_$(var.name) (
id string,
name string,
................................
)
EOT
}