【问题标题】:Azure ARM: Remove invalid charactersAzure ARM:删除无效字符
【发布时间】:2019-02-23 22:56:47
【问题描述】:

我正在寻找一种简单的方法来替换字符串中的所有非字母数字字符(只是试图防止用户为资源输入无效字符)。

我的工作代码如下,但我认为它非常混乱,因为我必须为要删除的每个字符创建一个新变量。

{
  "parameters": {
    "userString": {
    "type": "string"
    }
  },
  "variables": {
    "removeChar1": "[replace(parameters('userString'), '-', '')]",
    "removeChar2": "[replace(variables('removeChar1'), ' ', '')]",
    "removeChar3": "[replace(variables('removeChar2'), '^', '')]",
    "cleanString": "[replace(variables('removeChar3'), ')', '')]"
  },
  "resources": [
  ],
  "outputs": {
    "cleanStringOutput": {
      "type": "string",
      "value": "[variables('cleanString')]"
    }
  }
}

有没有更好的方法来做到这一点?

谢谢!

【问题讨论】:

  • 用户为什么要通过arm模板创建资源?我的意思是,他们不是先通过门户创建它们然后提取模板吗?
  • 许多 Azure 部署,尤其是针对企业环境的部署,通过 ARM、terraform、ansible 或同等工具利用自动化。
  • 是的,但我会说,根据您正在构建的服务,通过门户构建它并获取 arm 模板并为更高级别的环境自动化它几乎更容易。除非您要自动化纯基础架构。

标签: json azure azure-resource-manager arm-template


【解决方案1】:

不,替换功能只进行精确搜索,所以这是唯一的方法。 “替代方案”包括:在您的模板中创建一个完全执行此操作的函数,但您可以调用您的函数(看起来更干净+可重用),创建一个 azure 函数并调用该函数,该函数的输出将是一个 arm 模板替换所有字符的输出字符串。

https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-authoring-templates#functions

【讨论】:

    猜你喜欢
    • 2012-05-17
    • 2020-11-21
    • 2017-02-02
    • 2012-09-27
    • 1970-01-01
    • 2022-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多