首页 文章

没有插值的Terraform变量

提问于
浏览
0

这似乎是一个简单的问题,也许我在某处误读了文档 . 我正在尝试使用字符串值设置变量,在我的示例中,它是Azure blob的SAS令牌,然后我想将其传递给模板部署 . 我遇到的问题是字符串被插值导致令牌无效 . 我无法弄清楚如何传递变量而不是插值 .

scripts_blob_sas_token = "${var.scripts_blob_sas_token}"

这是字符串:

?sv=2015-04-05&sr=c&sig=O%2FurgY2Eu%2FZN3Ax1GSN58cNpc2DRMahLdB7lPqVifNc%3D&st=2017-06-13T17%3A17%3A45Z&se=2027-06-13T17%3A17%3A45Z&sp=r

当我引用 ${var.scripts_blob_sas_token} 变量时,它会被内插到:

?sv=2015-04-05\\u0026sr=c\\u0026sig=O%2FurgY2Eu%2FZN3Ax1GSN58cNpc2DRMahLdB7lPqVifNc%3D\\u0026st=2017-06-13T17%3A17%3A45Z

有没有办法在Terraform中调用变量并转义字符串的插值?

任何想法/建议将不胜感激 .

1 回答

  • 0

    您可以将变量放入文件中并将其读入字符串 .

    file(path) - 将文件内容读入字符串 . 此文件中的变量不进行插值 . 文件的内容按原样读取 . 路径相对于工作目录进行解释 . 路径变量可用于引用相对于其他基本位置的路径 . 例如,在模块内部使用file()时,通常需要创建相对于模块库的路径,如:file(“$ / file”) .

    https://www.terraform.io/docs/configuration/interpolation.html#file-path-

相关问题