Руководство по добавлению выходных данных в шаблон ARM
Из этого учебника вы узнаете, как возвращать значения из шаблона Azure Resource Manager (ARM). Если требуется значение для развернутого ресурса, используются выходные данные. Для выполнения инструкций из этого учебника требуется 7 минут.
Предварительные требования
Советуем выполнить инструкции из учебника по переменным, но это необязательно.
Необходимо установить Visual Studio Code с расширением инструментов Resource Manager, а также либо Azure PowerShell, либо интерфейс командной строки Azure (CLI). Дополнительные сведения см. в разделе об инструментах шаблона.
Проверка шаблона
В конце предыдущего учебника шаблон содержал следующий код JSON:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storagePrefix": {
"type": "string",
"minLength": 3,
"maxLength": 11
},
"storageSKU": {
"type": "string",
"defaultValue": "Standard_LRS",
"allowedValues": [
"Standard_LRS",
"Standard_GRS",
"Standard_RAGRS",
"Standard_ZRS",
"Premium_LRS",
"Premium_ZRS",
"Standard_GZRS",
"Standard_RAGZRS"
]
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
}
},
"variables": {
"uniqueStorageName": "[concat(parameters('storagePrefix'), uniqueString(resourceGroup().id))]"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2021-09-01",
"name": "[variables('uniqueStorageName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('storageSKU')]"
},
"kind": "StorageV2",
"properties": {
"supportsHttpsTrafficOnly": true
}
}
]
}
Он развертывает учетную запись хранения, но не возвращает никаких сведений о ней. Возможно, потребуется записать свойства из нового ресурса, чтобы они были доступны позже для справки.
Добавление выходных данных
Выходные данные можно использовать для возврата значений из шаблона. Например, может быть полезно получить конечные точки для новой учетной записи хранения.
В следующем примере демонстрируется изменение шаблона для добавления выходного значения. Скопируйте весь файл и замените шаблон на его содержимое.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storagePrefix": {
"type": "string",
"minLength": 3,
"maxLength": 11
},
"storageSKU": {
"type": "string",
"defaultValue": "Standard_LRS",
"allowedValues": [
"Standard_LRS",
"Standard_GRS",
"Standard_RAGRS",
"Standard_ZRS",
"Premium_LRS",
"Premium_ZRS",
"Standard_GZRS",
"Standard_RAGZRS"
]
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
}
},
"variables": {
"uniqueStorageName": "[concat(parameters('storagePrefix'), uniqueString(resourceGroup().id))]"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2021-09-01",
"name": "[variables('uniqueStorageName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('storageSKU')]"
},
"kind": "StorageV2",
"properties": {
"supportsHttpsTrafficOnly": true
}
}
],
"outputs": {
"storageEndpoint": {
"type": "object",
"value": "[reference(variables('uniqueStorageName')).primaryEndpoints]"
}
}
}
Обратите внимание на некоторые важные элементы добавленного выходного значения.
В качестве типа возвращаемого значения устанавливается object
. Это означает, что возвращается объект JSON.
Для получения состояния среды выполнения учетной записи хранения используется функция reference. Чтобы получить состояние среды выполнения ресурса, необходимо передать имя или идентификатор ресурса. В этом случае вы используете ту же переменную, которая использовалась для создания имени учетной записи хранения.
Наконец, значение возвращает свойство primaryEndpoints
из учетной записи хранения.
Развертывание шаблона
Вы готовы к развертыванию шаблона и просмотру возвращенного значения.
Если вы еще не создали группу ресурсов, см. этот раздел. В этом примере предполагается, что для переменной templateFile
указан путь к файлу шаблона, как показано в первом учебнике.
New-AzResourceGroupDeployment `
-Name addoutputs `
-ResourceGroupName myResourceGroup `
-TemplateFile $templateFile `
-storagePrefix "store" `
-storageSKU Standard_LRS
В выходных данных команды развертывания вы увидите объект, аналогичный объекту в следующем примере, только если выходные данные имеют формат JSON:
{
"dfs": "https://storeluktbfkpjjrkm.dfs.core.windows.net/",
"web": "https://storeluktbfkpjjrkm.z19.web.core.windows.net/",
"blob": "https://storeluktbfkpjjrkm.blob.core.windows.net/",
"queue": "https://storeluktbfkpjjrkm.queue.core.windows.net/",
"table": "https://storeluktbfkpjjrkm.table.core.windows.net/",
"file": "https://storeluktbfkpjjrkm.file.core.windows.net/"
}
Примечание
Если развертывание завершается сбоем, используйте параметр verbose
, чтобы получить сведения о создаваемых ресурсах. Используйте параметр debug
, чтобы получить дополнительные сведения для отладки.
Проверка работы
Работая с последними шестью учебниками, вы много чего сделали. Давайте взглянем на выполненную работу. Вы создали шаблон с параметрами, которые легко предоставить. Шаблон можно многократно использовать в разных средах, так как его можно настраивать и он может динамически создавать необходимые значения. Он также возвращает сведения об учетной записи хранения, которую можно использовать в скрипте.
Теперь рассмотрим группу ресурсов и журнал развертывания.
Войдите на портал Azure.
В меню слева выберите Группы ресурсов.
Выберите группу ресурсов, в которую выполнено развертывание.
В зависимости от выполненных действий в группе ресурсов должна быть по крайней мере одна учетная запись хранения (или несколько).
Кроме того, в журнале должно быть зафиксировано несколько успешных развертываний. Выберите эту ссылку.
Вы увидите все развертывания в журнале. Выберите развертывание с именем addoutputs.
Вы можете проверить входные данные.
Вы можете проверить выходные данные.
Вы можете изучить шаблон.
Очистка ресурсов
Если вы переходите к следующему учебнику, вам не нужно удалять группу ресурсов.
Если вы прекращаете работу, то можете удалить группу ресурсов.
- На портале Azure в меню слева выберите Группы ресурсов.
- Введите имя группы ресурсов в текстовое поле Фильтрация всех полей....
- Установите флажок рядом с myResourceGroup и выберите myResourceGroup или имя вашей группы ресурсов.
- В главном меню выберите Удалить группу ресурсов.
Дальнейшие действия
В рамках этого учебника вы добавили в шаблон возвращаемое значение. В следующем учебнике вы узнаете, как экспортировать шаблон и использовать его части в шаблоне.