Azure ARM: удаление недопустимых символов - PullRequest
0 голосов
/ 24 февраля 2019

Я ищу простой способ заменить все не буквенно-цифровые символы из строки (просто пытаюсь запретить пользователю вводить недопустимый символ для ресурса).

Мой рабочий код приведен ниже, но ядумаю, что это очень грязно, так как я должен создать новую переменную для каждого символа, который я хочу удалить.

{
  "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')]"
    }
  }
}

Есть ли лучший способ сделать это?

Спасибо!

1 Ответ

0 голосов
/ 24 февраля 2019

нет, функция замены только выполняет точный поиск, так что это единственный способ сделать это.«Альтернативы» включают в себя: создать функцию в вашем шаблоне, которая делает именно это, но вы можете вызвать свою функцию (выглядит намного чище + многократно используемой), создать функцию Azure и вызвать эту функцию, вывод функции будет представлять собой шаблон armс выходной строкой с заменой всех символов.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...