Руководство по использованию экспортированного шаблона из портала Azure
В рамках этой серии учебников вы создали шаблон для развертывания учетной записи хранения Azure. В следующих двух учебниках вы добавите план службы приложений и веб-сайт. Вместо создания шаблонов с нуля вы узнаете, как экспортировать шаблоны с портала Azure и как использовать примеры шаблонов из шаблонов быстрого запуска Azure. Вы настроите эти шаблоны для своего варианта использования. В этом учебнике будет рассмотрен экспорт шаблонов и настройка результатов для шаблона. Для выполнения этой инструкции потребуется около 14 минут.
Предварительные требования
Советуем выполнить инструкции из учебника по выходным данным, но это необязательно.
Необходимо установить 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
}
}
],
"outputs": {
"storageEndpoint": {
"type": "object",
"value": "[reference(variables('uniqueStorageName')).primaryEndpoints]"
}
}
}
Этот шаблон хорошо подходит для развертывания учетных записей хранения, но вы можете добавить к нему больше ресурсов. Вы можете экспортировать шаблон из имеющегося ресурса, чтобы быстро получить JSON для этого ресурса.
Создание плана службы приложений
Войдите на портал Azure.
Выберите Создать ресурс.
В поле Поиск по службам и Marketplace введите План службы приложений, а затем выберите План службы приложений.
Нажмите кнопку создания.
На странице Создание плана службы приложений введите следующие значения:
- Подписка. В раскрывающемся меню выберите свою подписку Azure.
- Группа ресурсов. Выберите Создать и укажите имя. Укажите имя группы ресурсов, отличное от того, которое вы использовали в этой серии учебников.
- Имя: введите имя для плана службы приложений.
- Операционная система: выберите значение Linux.
- Регион: выберите в раскрывающемся меню расположение Azure, например, Центральная часть США.
- Ценовая категория. Чтобы сэкономить, выберите Изменить размер, чтобы изменить номер SKU и размерна Первый базовый (B1) в разделе Разработка и тестирование для менее требовательных рабочих нагрузок.
Выберите Просмотреть и создать.
Нажмите кнопку создания. Создание ресурса занимает несколько секунд.
Экспорт шаблона
Выберите Перейти к ресурсу.
В меню слева в разделе Автоматизация выберите Экспорт шаблона.
Функция экспорта шаблона принимает текущее состояние ресурса и создает шаблон для его развертывания. Экспорт шаблона может быть полезным для быстрого получения JSON, необходимого для развертывания ресурса.
Проверьте определение
Microsoft.Web/serverfarms
и определение параметра в экспортированном шаблоне. Вам не нужно копировать эти разделы. Этот экспортированный шаблон можно просто использовать в качестве примера добавления этого ресурса в шаблон.
Важно!
Обычно экспортированный шаблон подробнее, чем может потребоваться при создании шаблона. Например, объект SKU в экспортированном шаблоне имеет пять свойств. Этот шаблон работает, но вы можете просто использовать свойство name
. Вы можете начать с экспортированного шаблона, а затем изменить его в соответствии со своими требованиями.
Изменение имеющегося шаблона
Экспортированный шаблон предоставляет большую часть необходимого кода 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]"
},
"appServicePlanName": {
"type": "string",
"defaultValue": "exampleplan"
}
},
"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
}
},
{
"type": "Microsoft.Web/serverfarms",
"apiVersion": "2021-03-01",
"name": "[parameters('appServicePlanName')]",
"location": "[parameters('location')]",
"sku": {
"name": "B1",
"tier": "Basic",
"size": "B1",
"family": "B",
"capacity": 1
},
"kind": "linux",
"properties": {
"perSiteScaling": false,
"reserved": true,
"targetWorkerCount": 0,
"targetWorkerSizeId": 0
}
}
],
"outputs": {
"storageEndpoint": {
"type": "object",
"value": "[reference(variables('uniqueStorageName')).primaryEndpoints]"
}
}
}
Развертывание шаблона
Для развертывания шаблона используйте Azure CLI или Azure PowerShell.
Если вы еще не создали группу ресурсов, см. этот раздел. В этом примере предполагается, что для переменной templateFile
указан путь к файлу шаблона, как показано в первом учебнике.
New-AzResourceGroupDeployment `
-Name addappserviceplan `
-ResourceGroupName myResourceGroup `
-TemplateFile $templateFile `
-storagePrefix "store" `
-storageSKU Standard_LRS
Примечание
Если развертывание завершается сбоем, используйте параметр verbose
, чтобы получить сведения о создаваемых ресурсах. Используйте параметр debug
, чтобы получить дополнительные сведения для отладки.
Проверка развертывания
Чтобы проверить развертывание, просмотрите группу ресурсов на портале Azure.
- Войдите на портал Azure.
- В меню слева выберите Группы ресурсов.
- Выберите группу ресурсов, в которую выполнено развертывание.
- В группе ресурсов содержится учетная запись хранения и план службы приложений.
Очистка ресурсов
Если вы переходите к следующему учебнику, вам не нужно удалять группу ресурсов.
Если вы прекращаете работу, то можете удалить группу ресурсов.
- На портале Azure в меню слева выберите Группы ресурсов.
- Введите имя группы ресурсов в текстовое поле Фильтрация всех полей....
- Установите флажок рядом с myResourceGroup и выберите myResourceGroup или имя вашей группы ресурсов.
- В главном меню выберите Удалить группу ресурсов.
Дальнейшие действия
Вы узнали, как экспортировать шаблон с портала Azure, а также как использовать экспортированный шаблон для разработки шаблона. Вы также можете использовать шаблоны быстрого запуска Azure для упрощения разработки шаблонов.