Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Шаблоны быстрого запуска Azure — это репозиторий шаблонов, внесенных сообществом. Примеры шаблонов можно использовать в разработке шаблонов. В этом руководстве вы найдете определение ресурса веб-сайта и добавьте его в собственный шаблон. Эта инструкция занимает 12 минут .
Предпосылки
Мы рекомендуем выполнить руководство по экспортируемым шаблонам, но это не обязательно.
Вам необходимо иметь Visual Studio Code, а также 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]"
},
"appServicePlanName": {
"type": "string",
"defaultValue": "exampleplan"
}
},
"variables": {
"uniqueStorageName": "[concat(parameters('storagePrefix'), uniqueString(resourceGroup().id))]"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2025-06-01",
"name": "[variables('uniqueStorageName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('storageSKU')]"
},
"kind": "StorageV2",
"properties": {
"supportsHttpsTrafficOnly": true
}
},
{
"type": "Microsoft.Web/serverfarms",
"apiVersion": "2025-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]"
}
}
}
Этот шаблон работает для развертывания учетных записей хранения и планов службы приложений, но может потребоваться добавить веб-сайт в него. Вы можете использовать готовые шаблоны для быстрого обнаружения JSON, необходимого для развертывания ресурса.
Поиск шаблона
Открытие шаблонов быстрого запуска Azure
Выберите плитку с заголовком "Развернуть базовое веб-приложение Linux". Если у вас возникли проблемы с поиском, вот прямая ссылка.
Выберите Просмотреть на GitHub.
Выберите azuredeploy.json.
Изучите шаблон. Найдите ресурс
Microsoft.Web/sites.
Изменение существующего шаблона
Слияние шаблона быстрого запуска с существующим шаблоном:
{
"$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"
},
"webAppName": {
"type": "string",
"metadata": {
"description": "Base name of the resource such as web app name and app service plan "
},
"minLength": 2
},
"linuxFxVersion": {
"type": "string",
"defaultValue": "php|7.0",
"metadata": {
"description": "The Runtime stack of current web app"
}
}
},
"variables": {
"uniqueStorageName": "[concat(parameters('storagePrefix'), uniqueString(resourceGroup().id))]",
"webAppPortalName": "[concat(parameters('webAppName'), uniqueString(resourceGroup().id))]"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2025-06-01",
"name": "[variables('uniqueStorageName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('storageSKU')]"
},
"kind": "StorageV2",
"properties": {
"supportsHttpsTrafficOnly": true
}
},
{
"type": "Microsoft.Web/serverfarms",
"apiVersion": "2025-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
}
},
{
"type": "Microsoft.Web/sites",
"apiVersion": "2025-03-01",
"name": "[variables('webAppPortalName')]",
"location": "[parameters('location')]",
"dependsOn": [
"[resourceId('Microsoft.Web/serverfarms', parameters('appServicePlanName'))]"
],
"kind": "app",
"properties": {
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('appServicePlanName'))]",
"siteConfig": {
"linuxFxVersion": "[parameters('linuxFxVersion')]"
}
}
}
],
"outputs": {
"storageEndpoint": {
"type": "object",
"value": "[reference(variables('uniqueStorageName')).primaryEndpoints]"
}
}
}
Имя веб-приложения должно быть уникальным в Azure. Чтобы предотвратить наличие повторяющихся имен, переменная webAppPortalName обновляется с "webAppPortalName": "[concat(parameters('webAppName'), '-webapp')]" на "webAppPortalName": "[concat(parameters('webAppName'), uniqueString(resourceGroup().id))]".
Добавьте запятую в конце Microsoft.Web/serverfarms определения, чтобы отделить определение ресурса от Microsoft.Web/sites определения.
В этом новом ресурсе есть несколько важных функций.
Он имеет элемент с именем dependsOn , заданным для плана службы приложений. Этот параметр необходим, так как план службы приложений должен существовать перед созданием веб-приложения. Элемент dependsOn сообщает Resource Manager, как упорядочить ресурсы для развертывания.
Свойство serverFarmId использует функцию resourceId . Эта функция получает уникальный идентификатор ресурса. В этом случае он получает уникальный идентификатор плана службы приложений. Веб-приложение связано с одним конкретным планом службы приложений.
Развертывание шаблона
Используйте Azure CLI или Azure PowerShell для развертывания шаблона.
Если вы еще не создали группу ресурсов, см. статью "Создать группу ресурсов". В этом примере предполагается, что переменная templateFile задана в путь к файлу шаблона, как показано в первом руководстве.
New-AzResourceGroupDeployment `
-Name addwebapp `
-ResourceGroupName myResourceGroup `
-TemplateFile $templateFile `
-storagePrefix "store" `
-storageSKU Standard_LRS `
-webAppName demoapp
Замечание
Если развертывание завершается сбоем, используйте verbose переключатель, чтобы получить сведения о ресурсах, которые вы создаете. Используйте параметр debug, чтобы получить дополнительные сведения об отладке.
Очистите ресурсы
Если вы переходите к следующему руководству, вам не нужно удалять группу ресурсов.
Если вы сейчас хотите остановиться, возможно, вы захотите удалить группу ресурсов.
- На портале Azure выберите группы ресурсов в меню слева.
- Введите имя группы ресурсов в поле текста фильтр для любого поля....
- Установите флажок рядом с myResourceGroup и выберите myResourceGroup или имя группы ресурсов.
- Выберите "Удалить группу ресурсов " в верхнем меню.
Дальнейшие шаги
Вы узнали, как использовать шаблон быстрого запуска для разработки шаблонов. В следующем руководстве вы добавите теги в ресурсы.