首页 > 解决方案 > 带有多行的 ARM 模板连接

问题描述

我几乎可以肯定上次我玩 ARM 模板时有一些技巧可以使代码整洁,并使用多行 concat()。是的,我知道我可以使用

"myvar": "[concat(
  'abc',
  'def
  )]"

如果我使用 cli/powershell 进行部署,但我不会控制模板用户的工具,所以他们很可能只是复制粘贴到 Web 控制台中。

任何想法?除了具有自定义函数来连接编码为数组的多行文本:

"variables": {
    "splitStr": [
      "first line",
      "second line",
      "third line"
    ],
    "output": "[custom.join(variables('splitStr'))]"
  },
  "functions": [
    {
      "namespace": "custom",
      "members": {
        "join": {
          "parameters": [
            {
            "type": "array",
            "name": "splitStr"
            }
          ],
          "output": {
            "type": "string",
            "value": "[replace(replace(replace(string(parameters('splitStr')), '[\"', ''), '\"]', ''), '\",\"', '\\n')]"
          }
        }
      }
    }
  ],

我们正在讨论将数百行配置文本推送到部署的 VM 中的工作示例代码,因此文本可读性很重要。

标签: azurearm-template

解决方案


推荐阅读