Oktatóanyag: Az Azure rövid útmutatósablonjainak használata
Az Azure Rövid útmutató sablonjai a közösség által közzétett sablonok adattára. A mintasablonokat a sablonfejlesztés során használhatja. Ebben az oktatóanyagban megtalálja a webhely erőforrás-definícióját, és hozzáadja azt a saját sablonjához. Ez az utasítás 12 percet vesz igénybe.
Előfeltételek
Javasoljuk, hogy végezze el az exportált sablonokról szóló oktatóanyagot, de nincs rá szükség.
Rendelkeznie kell a Visual Studio Code-tal a Resource Manager Tools bővítménnyel, valamint Azure PowerShell vagy Azure Command-Line Interface (CLI) használatával. További információ: Sabloneszközök.
Sablon áttekintése
Az előző oktatóanyag végén a sablon a következő JSON-fájlt tartalmazza:
{
"$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]"
}
}
}
Ez a sablon tárfiókok és App Service-csomagok üzembe helyezéséhez használható, de érdemes lehet webhelyet hozzáadni hozzá. Előre elkészített sablonokkal gyorsan felfedezheti az erőforrás üzembe helyezéséhez szükséges JSON-t.
Sablon keresése
Az Azure rövid útmutatósablonjainak megnyitása
Válassza ki az alapszintű Linux-webalkalmazás üzembe helyezése című csempét. Ha nem találja, itt található a közvetlen hivatkozás.
Válassza a Tallózás a GitHubon lehetőséget.
Válassza az azuredeploy.json lehetőséget.
Tekintse át a sablont. Keresse meg az erőforrást
Microsoft.Web/sites
.
Meglévő sablon felülvizsgálata
A rövid útmutató sablonjának egyesítése a meglévő sablonnal:
{
"$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]"
}
}
}
A webalkalmazás nevének egyedinek kell lennie az Azure-ban. Az ismétlődő nevek elkerülése érdekében a változó a-ról webAppPortalName
értékre "webAppPortalName": "[concat(parameters('webAppName'), uniqueString(resourceGroup().id))]"
"webAppPortalName": "[concat(parameters('webAppName'), '-webapp')]"
frissül.
Adjon hozzá egy vesszőt a Microsoft.Web/serverfarms
definíció végéhez, hogy elkülönítse az erőforrás-definíciót a Microsoft.Web/sites
definíciótól.
Ebben az új erőforrásban több fontos funkciót is fel kell jegyezni.
Egy nevű dependsOn
elemmel rendelkezik, amely az App Service-csomagra van beállítva. Ez a beállítás azért szükséges, mert az App Service-csomagnak léteznie kell a webalkalmazás létrehozása előtt. Az dependsOn
elem ismerteti Resource Manager, hogyan rendelheti meg az erőforrásokat az üzembe helyezéshez.
A serverFarmId
tulajdonság a resourceId függvényt használja. Ez a függvény lekéri egy erőforrás egyedi azonosítóját. Ebben az esetben lekéri az App Service-csomag egyedi azonosítóját. A webalkalmazás egy adott App Service-csomaghoz van társítva.
Sablon üzembe helyezése
Sablon üzembe helyezéséhez használja az Azure CLI-t vagy Azure PowerShell.
Ha még nem hozta létre az erőforráscsoportot, tekintse meg az Erőforráscsoport létrehozása című témakört. A példa feltételezi, hogy beállította a templateFile változót a sablonfájl elérési útjára, ahogy az az első oktatóanyagban is látható.
New-AzResourceGroupDeployment `
-Name addwebapp `
-ResourceGroupName myResourceGroup `
-TemplateFile $templateFile `
-storagePrefix "store" `
-storageSKU Standard_LRS `
-webAppName demoapp
Megjegyzés
Ha az üzembe helyezés sikertelen, a verbose
kapcsolóval információkat kaphat a létrehozott erőforrásokról. A kapcsolóval debug
további információt kaphat a hibakeresésről.
Az erőforrások eltávolítása
Ha továbblép a következő oktatóanyagra, nem kell törölnie az erőforráscsoportot.
Ha most leáll, érdemes lehet törölnie az erőforráscsoportot.
- A Azure Portal válassza az Erőforráscsoportok lehetőséget a bal oldali menüben.
- Írja be az erőforráscsoport nevét a Szűrő bármely mezőhöz... szövegmezőbe.
- Jelölje be a myResourceGroup melletti jelölőnégyzetet, és válassza a myResourceGroup vagy az erőforráscsoport nevét.
- Válassza az Erőforráscsoport törlése lehetőséget a felső menüben.
Következő lépések
Megtanulta, hogyan használhat rövid útmutatósablont a sablon fejlesztéséhez. A következő oktatóanyagban címkéket ad hozzá az erőforrásokhoz.