Повторное использование выражений с помощью переменных шаблона Azure Resource Manager
В предыдущем сценарии вы решили использовать выражение, состоящее из нескольких функций шаблона Azure Resource Manager (ARM), чтобы создать уникальное имя для учетной записи хранения Azure. Эта гибкость гарантирует, что все клиенты смогут использовать шаблон ARM для развертывания. Но вы заметите, что добавление этого выражения в нескольких местах является проблемой для поддержания шаблона. Вы решили использовать переменную для выражения имени учетной записи хранения, чтобы определить выражение в одном месте и повторно использовать его на протяжении всего шаблона.
Что такое переменная шаблона ARM?
Переменная шаблона ARM — это конструкция, содержащая значение для последующего использования. Переменные лучше всего использовать, если необходимо указать значение в нескольких местах в шаблоне. Где переменная используется в шаблоне, Resource Manager заменяет ее разрешенным значением.
Например, у вас есть выражение, определяющее значение расположения ресурса. Для нескольких ресурсов, определенных в шаблоне, требуется расположение. Можно создать переменную для хранения выражения расположения, а затем использовать переменную, где требуется расположение.
Преимущества использования переменных шаблона ARM
Переменные шаблона ARM позволяют записывать выражение один раз, а затем использовать его в нескольких местах. Кроме того, управление выражением сосредоточено в одном месте, и шаблон более читаем.
Как использовать переменные шаблона ARM?
Переменные шаблона ARM определяются в разделе variables: {}
шаблона. Например, вот формула для имени учетной записи хранения, которую вы задали в последнем уроке. Теперь он определяет значение для переменной storageName
.
"variables": {
"storageName": "[concat(toLower(parameters('storageNamePrefix')), uniqueString(resourceGroup().id))]"
},
Затем вы используете переменную в шаблоне, где нужно имя учетной записи хранения:
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"name": "[variables('storageName')]",
...
}
]
Рекомендации по переменным шаблона ARM
Переменные шаблона указываются в формате CamelCase. Они лучше всего используются для значений, которые необходимо указать несколько раз, особенно если это значение является сложным выражением.
Не используйте функцию reference
в разделе переменных шаблона. Функция reference
определяется в процессе выполнения, а переменные определяются при синтаксическом анализе шаблона. Кроме того, не используйте переменные для apiVersion
в ресурсе. Версия API определяет схему ресурса, и часто не удается изменить версию, не изменив свойства ресурса.