Oktatóanyag: Paraméterfájlok használata az ARM-sablon üzembe helyezéséhez
Ebből az oktatóanyagból megtudhatja, hogyan tárolhatja az üzembe helyezés során átadott értékeket paraméterfájlok használatával. Az előző oktatóanyagokban beágyazott paramétereket használt az üzembe helyezési paranccsal. Ez a módszer az Azure Resource Manager-sablon (ARM-sablon) teszteléséhez működött, de az üzembe helyezések automatizálásakor egyszerűbb lehet értékkészletet átadni a környezetnek. A paraméterfájlok megkönnyítik egy adott környezet paraméterértékeinek csomagolását. Ebben az oktatóanyagban paraméterfájlokat hoz létre fejlesztési és éles környezetekhez. Ez az utasítás 12 percet vesz igénybe.
Előfeltételek
Javasoljuk, hogy végezze el a címkékrő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
A sablon számos paramétert biztosít az üzembe helyezés során. 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"
},
"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"
}
},
"resourceTags": {
"type": "object",
"defaultValue": {
"Environment": "Dev",
"Project": "Tutorial"
}
}
},
"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')]",
"tags": "[parameters('resourceTags')]",
"sku": {
"name": "[parameters('storageSKU')]"
},
"kind": "StorageV2",
"properties": {
"supportsHttpsTrafficOnly": true
}
},
{
"type": "Microsoft.Web/serverfarms",
"apiVersion": "2021-03-01",
"name": "[parameters('appServicePlanName')]",
"location": "[parameters('location')]",
"tags": "[parameters('resourceTags')]",
"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": [
"[parameters('appServicePlanName')]"
],
"tags": "[parameters('resourceTags')]",
"kind": "app",
"properties": {
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('appServicePlanName'))]",
"siteConfig": {
"linuxFxVersion": "[parameters('linuxFxVersion')]"
}
}
}
],
"outputs": {
"storageEndpoint": {
"type": "object",
"value": "[reference(variables('uniqueStorageName')).primaryEndpoints]"
}
}
}
Ez a sablon jól működik, de most egyszerűen szeretné kezelni a sablonhoz megadott paramétereket.
Paraméterfájlok hozzáadása
A paraméterfájlok olyan JSON-fájlok, amelyek struktúrája hasonló a sablonhoz. A fájlban adja meg az üzembe helyezés során átadni kívánt paraméterértékeket.
A paraméterfájlban megadhatja a sablon paramétereinek értékeit. A paraméterfájlban lévő paraméterek nevének meg kell egyeznie a sablonban lévő paraméter nevével. A név nem különbözteti meg a kis- és nagybetűket, de az egyező értékek egyszerű megjelenítéséhez azt javasoljuk, hogy egyezzen a sablon burkolatával.
Nem kell minden paraméterhez értéket megadnia. Ha egy meghatározatlan paraméter alapértelmezett értékkel rendelkezik, a rendszer ezt az értéket használja az üzembe helyezés során. Ha egy paraméter nem rendelkezik alapértelmezett értékkel, és nincs megadva a paraméterfájlban, a rendszer kérni fogja, hogy adjon meg egy értéket az üzembe helyezés során.
Nem adhat meg olyan paraméternevet a paraméterfájlban, amely nem egyezik meg a sablonban szereplő paraméternévvel. Ismeretlen paraméterek megadásakor hibaüzenet jelenik meg.
A Visual Studio Code-ban hozzon létre egy új fájlt az alábbi tartalommal. Mentse a fájlt azuredeploy.parameters.dev.json néven.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storagePrefix": {
"value": "devstore"
},
"storageSKU": {
"value": "Standard_LRS"
},
"appServicePlanName": {
"value": "devplan"
},
"webAppName": {
"value": "devapp"
},
"resourceTags": {
"value": {
"Environment": "Dev",
"Project": "Tutorial"
}
}
}
}
Ez a fájl a fejlesztési környezet paraméterfájlja. Figyelje meg, hogy Standard_LRS használ a tárfiókhoz, dev előtaggal rendelkező erőforrásokat nevez el, és a Environment
címkét Dev értékre állítja.
Hozzon létre ismét egy új fájlt az alábbi tartalommal. Mentse a fájlt azuredeploy.parameters.prod.json néven.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storagePrefix": {
"value": "contosodata"
},
"storageSKU": {
"value": "Standard_GRS"
},
"appServicePlanName": {
"value": "contosoplan"
},
"webAppName": {
"value": "contosowebapp"
},
"resourceTags": {
"value": {
"Environment": "Production",
"Project": "Tutorial"
}
}
}
}
Ez a fájl az éles környezet paraméterfájlja. Figyelje meg, hogy Standard_GRS használ a tárfiókhoz, contoso előtaggal adja meg az erőforrásokat, és a Environment
címkét Production (Éles) értékre állítja. Valós éles környezetben az ingyenesen ki nem használt termékváltozattal rendelkező App Service-t is érdemes használni, de ehhez az oktatóanyaghoz ezt a termékváltozatot használjuk.
Sablon üzembe helyezése
A sablon üzembe helyezéséhez használja az Azure CLI-t vagy a Azure PowerShell.
A sablon utolsó tesztjeként hozzunk létre két új erőforráscsoportot. Egyet a fejlesztői környezethez, egyet pedig az éles környezethez.
A sablon- és paraméterváltozók esetében cserélje le {path-to-the-template-file}
a , {path-to-azuredeploy.parameters.dev.json}
, {path-to-azuredeploy.parameters.prod.json}
, és a kapcsos zárójeleket {}
a sablonra és a paraméterfájl elérési útjára.
Először helyezzük üzembe a fejlesztői környezetben.
$templateFile = "{path-to-the-template-file}"
$parameterFile="{path-to-azuredeploy.parameters.dev.json}"
New-AzResourceGroup `
-Name myResourceGroupDev `
-Location "East US"
New-AzResourceGroupDeployment `
-Name devenvironment `
-ResourceGroupName myResourceGroupDev `
-TemplateFile $templateFile `
-TemplateParameterFile $parameterFile
Most üzembe helyezzük az éles környezetben.
$parameterFile="{path-to-azuredeploy.parameters.prod.json}"
New-AzResourceGroup `
-Name myResourceGroupProd `
-Location "West US"
New-AzResourceGroupDeployment `
-Name prodenvironment `
-ResourceGroupName myResourceGroupProd `
-TemplateFile $templateFile `
-TemplateParameterFile $parameterFile
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 üzembe helyezés ellenőrzése
Az üzembe helyezést a Azure Portal erőforráscsoportjaival ellenőrizheti.
- Jelentkezzen be az Azure Portal.
- A bal oldali menüben válassza az Erőforráscsoportok lehetőséget.
- Ebben az oktatóanyagban megjelenik a két új erőforráscsoport, amit üzembe helyez.
- Válassza ki az erőforráscsoportot, és tekintse meg az üzembe helyezett erőforrásokat. Figyelje meg, hogy azok megegyeznek az adott környezet paraméterfájljában megadott értékekkel.
Az erőforrások eltávolítása
A Azure Portal válassza az Erőforráscsoportok lehetőséget a bal oldali menüben.
Jelölje be a jelölőnégyzet melletti hivatkozásra mutató erőforráscsoport-nevet. Ha befejezi ezt a sorozatot, három erőforráscsoportot kell törölnie : myResourceGroup, myResourceGroupDev és myResourceGroupProd.
Válassza az Erőforráscsoport törlése ikont a felső menüben.
Figyelemfelhívás
Az erőforráscsoport törlése nem vonható vissza.
Írja be az erőforráscsoport nevét a megjelenő előugró ablakban, és válassza a Törlés lehetőséget.
Következő lépések
Gratulálunk! Ezzel a bevezetéssel befejezte a sablonok Azure-ban való üzembe helyezését. Tudassa velünk, ha megjegyzései és javaslatai vannak a visszajelzési szakaszban.
A következő oktatóanyag-sorozat részletesebben ismerteti a sablonok üzembe helyezését.