Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze zelfstudie leert u hoe u parameterbestanden gebruikt om de waarden op te slaan die u tijdens de implementatie doorgeeft. In de vorige handleidingen hebt u inline parameters gebruikt met uw deploy-opdracht. Deze aanpak heeft gewerkt voor het testen van uw ARM-sjabloon (Azure Resource Manager), maar bij het automatiseren van implementaties kan het eenvoudiger zijn om een set waarden voor uw omgeving door te geven. Met parameterbestanden kunt u gemakkelijker parameterwaarden verpakken voor een specifieke omgeving. In deze zelfstudie maakt u parameterbestanden voor ontwikkel- en productieomgevingen. Deze instructie duurt 12 minuten .
Vereiste voorwaarden
U wordt aangeraden de zelfstudie over tags te voltooien, maar dit is niet vereist.
U moet beschikken over Visual Studio Code en Azure PowerShell of de Azure CLI. Zie sjabloonhulpprogramma's voor meer informatie.
Sjabloon controleren
Uw sjabloon bevat veel parameters die u tijdens de implementatie kunt opgeven. Aan het einde van de vorige zelfstudie had uw sjabloon het volgende JSON-bestand:
{
"$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": "2025-06-01",
"name": "[variables('uniqueStorageName')]",
"location": "[parameters('location')]",
"tags": "[parameters('resourceTags')]",
"sku": {
"name": "[parameters('storageSKU')]"
},
"kind": "StorageV2",
"properties": {
"supportsHttpsTrafficOnly": true
}
},
{
"type": "Microsoft.Web/serverfarms",
"apiVersion": "2025-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": "2025-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]"
}
}
}
Deze sjabloon werkt goed, maar nu wilt u eenvoudig de parameters beheren die u voor de sjabloon doorgeeft.
Parameterbestanden toevoegen
Parameterbestanden zijn JSON-bestanden met een structuur die vergelijkbaar is met uw sjabloon. In het bestand geeft u de parameterwaarden op die u wilt doorgeven tijdens de implementatie.
In het parameterbestand geeft u waarden op voor de parameters in uw sjabloon. De naam van elke parameter in het parameterbestand moet overeenkomen met de naam van een parameter in uw sjabloon. De naam is hoofdletterongevoelig, maar om de overeenkomende waarden eenvoudig te zien, raden we u aan het lettergebruik van de sjabloon aan te houden.
U hoeft geen waarde op te geven voor elke parameter. Als een niet-opgegeven parameter een standaardwaarde heeft, wordt die waarde gebruikt tijdens de implementatie. Als een parameter geen standaardwaarde heeft en niet is opgegeven in het parameterbestand, wordt u gevraagd een waarde op te geven tijdens de implementatie.
U kunt geen parameternaam opgeven in het parameterbestand dat niet overeenkomt met een parameternaam in de sjabloon. Er wordt een foutbericht weergegeven wanneer u onbekende parameters opgeeft.
Maak in Visual Studio Code een nieuw bestand met de volgende inhoud. Sla het bestand op met de naam azuredeploy.parameters.dev.json:
{
"$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"
}
}
}
}
Dit bestand is het parameterbestand voor de ontwikkelomgeving. U ziet dat er gebruik wordt gemaakt van Standard_LRS voor het opslagaccount, resources met een dev-voorvoegsel worden genoemd, en de Environment tag ingesteld is op Dev.
Maak opnieuw een nieuw bestand met de volgende inhoud. Sla het bestand op met de naam azuredeploy.parameters.prod.json:
{
"$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"
}
}
}
}
Dit bestand is het parameterbestand voor de productieomgeving. U ziet dat deze gebruikmaakt van Standard_GRS voor de opslagaccount, middelen benoemt met een contoso-voorvoegsel en de Environment tag instelt op Productie. In een echte productieomgeving wilt u ook een app-service gebruiken met een andere SKU dan gratis, maar we gebruiken die SKU voor deze zelfstudie.
Sjabloon implementeren
Gebruik de Azure CLI of Azure PowerShell om de sjabloon te implementeren.
Als laatste test van uw sjabloon gaan we twee nieuwe resourcegroepen maken voor de ontwikkelomgeving en één voor de productieomgeving.
Voor de sjabloon- en parametervariabelen vervangt u {path-to-the-template-file}, {path-to-azuredeploy.parameters.dev.json}, {path-to-azuredeploy.parameters.prod.json}, en de accolades {} door uw sjabloon- en parameterbestandspaden.
Eerst gaan we implementeren in de ontwikkelomgeving.
$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
Nu implementeren we in de productieomgeving.
$parameterFile="{path-to-azuredeploy.parameters.prod.json}"
New-AzResourceGroup `
-Name myResourceGroupProd `
-Location "West US"
New-AzResourceGroupDeployment `
-Name prodenvironment `
-ResourceGroupName myResourceGroupProd `
-TemplateFile $templateFile `
-TemplateParameterFile $parameterFile
Opmerking
Als de implementatie mislukt, gebruikt u de verbose schakeloptie om informatie op te halen over de resources die u maakt. Gebruik de debug schakeloptie voor meer informatie over foutopsporing.
Implementatie verifiëren
U kunt de implementatie controleren door de resourcegroepen te verkennen vanuit Azure Portal.
- Meld u aan bij het Azure-portaal.
- Selecteer resourcegroepen in het linkermenu.
- In deze handleiding ziet u de twee nieuwe resourcegroepen die u hebt geïmplementeerd.
- Selecteer een van beide resourcegroepen en bekijk de geïmplementeerde resources. U ziet dat ze overeenkomen met de waarden die u hebt opgegeven in het parameterbestand voor die omgeving.
De hulpbronnen opschonen
Vanuit het Azure Portal, selecteer Resourcegroepen van het linkermenu.
Selecteer de naam van de gekoppelde resourcegroep naast het selectievakje. Als u deze reeks voltooit, hebt u drie resourcegroepen die u wilt verwijderen: myResourceGroup, myResourceGroupDev en myResourceGroupProd.
Selecteer het pictogram Resourcegroep verwijderen in het bovenste menu.
Waarschuwing
Het verwijderen van een resourcegroep kan niet ongedaan worden gemaakt.
Typ de naam van de resourcegroep in het pop-upvenster dat wordt weergegeven en selecteer Verwijderen.
Volgende stappen
Gefeliciteerd. U hebt deze inleiding tot het implementeren van sjablonen in Azure voltooid. Laat het ons weten als u opmerkingen en suggesties hebt in de feedbacksectie.
De volgende reeks zelfstudies gaat dieper in op het implementeren van sjablonen.