Kurz: Použití šablon Azure pro rychlý start
Šablony azure pro rychlý start jsou úložištěm šablon, ke které přispěla komunita. Ukázkové šablony můžete použít při vývoji šablon. V tomto kurzu najdete definici prostředku webu a přidáte ji do vlastní šablony. Dokončení této instrukce trvá 12 minut .
Požadavky
Doporučujeme, abyste dokončili kurz o exportovaných šablonách, ale není to nutné.
Musíte mít Visual Studio Code s rozšířením Resource Manager Tools a Azure PowerShell nebo Rozhraní příkazového řádku (Azure Command-Line Interface). Další informace najdete v tématu Nástroje šablon.
Zkontrolovat šablonu
Na konci předchozího kurzu měla vaše šablona následující soubor 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]"
}
}
}
Tato šablona funguje pro nasazení účtů úložiště a plánů služby App Service, ale možná budete chtít přidat web. Pomocí předem připravených šablon můžete rychle zjistit JSON potřebný k nasazení prostředku.
Najít šablonu
Otevření šablon Azure Pro rychlý start
Vyberte dlaždici s názvem Nasazení základní linuxové webové aplikace. Pokud máte potíže s jeho nalezením, tady je přímý odkaz.
Vyberte Procházet na GitHubu.
Vyberte azuredeploy.json.
Zkontrolujte šablonu. Vyhledejte
Microsoft.Web/sites
prostředek.
Revize existující šablony
Sloučit šablonu rychlého startu s existující šablonou:
{
"$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": "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
}
},
{
"type": "Microsoft.Web/sites",
"apiVersion": "2021-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]"
}
}
}
Název webové aplikace musí být v rámci Azure jedinečný. Aby nedocházelo k duplicitním názvům webAppPortalName
, aktualizuje se proměnná z na "webAppPortalName": "[concat(parameters('webAppName'), '-webapp')]"
"webAppPortalName": "[concat(parameters('webAppName'), uniqueString(resourceGroup().id))]"
.
Na konec definice přidejte čárku Microsoft.Web/serverfarms
, která oddělí definici Microsoft.Web/sites
prostředku od definice.
V tomto novém prostředku je potřeba si všimnout několika důležitých funkcí.
Má element s názvem dependsOn
, který je nastavený na plán služby App Service. Toto nastavení je povinné, protože plán služby App Service musí existovat před vytvořením webové aplikace. Element dependsOn
Resource Manager říká, jak uspořádat prostředky pro nasazení.
Vlastnost serverFarmId
používá funkci resourceId . Tato funkce získá jedinečný identifikátor prostředku. V tomto případě získá jedinečný identifikátor plánu služby App Service. Webová aplikace je přidružená k jednomu konkrétnímu plánu služby App Service.
Nasazení šablony
K nasazení šablony použijte Azure CLI nebo Azure PowerShell.
Pokud jste skupinu prostředků nevytvořili, přečtěte si téma Vytvoření skupiny prostředků. Příklad předpokládá, že jste nastavili proměnnou templateFile na cestu k souboru šablony, jak je znázorněno v prvním kurzu.
New-AzResourceGroupDeployment `
-Name addwebapp `
-ResourceGroupName myResourceGroup `
-TemplateFile $templateFile `
-storagePrefix "store" `
-storageSKU Standard_LRS `
-webAppName demoapp
Poznámka
Pokud nasazení selže, použijte verbose
přepínač k získání informací o prostředcích, které vytváříte.
debug
Pomocí přepínače získáte další informace pro ladění.
Vyčištění prostředků
Pokud přecházíte k dalšímu kurzu, nemusíte skupinu prostředků odstraňovat.
Pokud teď zastavujete, možná budete chtít skupinu prostředků odstranit.
- V Azure Portal v nabídce vlevo vyberte Skupiny prostředků.
- Do textového pole Filtr pro libovolné pole... zadejte název skupiny prostředků.
- Zaškrtněte políčko vedle myResourceGroup a vyberte myResourceGroup nebo název vaší skupiny prostředků.
- V horní nabídce vyberte Odstranit skupinu prostředků .
Další kroky
Naučili jste se používat šablonu rychlého startu pro vývoj šablony. V dalším kurzu přidáte k prostředkům značky.