Zelfstudie: variabelen aan uw ARM-sjabloon toevoegen
In deze zelfstudie leert u hoe u een variabele toevoegt aan uw ARM-sjabloon (Azure Resource Manager). Variabelen vereenvoudigen uw sjablonen. Hiermee kunt u eenmaal een expressie schrijven en deze opnieuw gebruiken in de sjabloon. Deze zelfstudie neemt ongeveer 7 minuten in beslag.
Vereisten
Het wordt aangeraden om eerst de zelfstudie over functies te voltooien, maar dit is niet vereist.
Visual Studio Code moet zijn geïnstalleerd en werken met de Azure Resource Manager Tools-extensie en Azure PowerShell of Azure CLI. Zie Hulpprogramma's voor sjablonen voor meer informatie.
Sjabloon controleren
Aan het einde van de vorige zelfstudie bevat uw sjabloon het volgende JSON-bestand:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storageName": {
"type": "string",
"minLength": 3,
"maxLength": 24
},
"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]"
}
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2021-09-01",
"name": "[parameters('storageName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('storageSKU')]"
},
"kind": "StorageV2",
"properties": {
"supportsHttpsTrafficOnly": true
}
}
]
}
De naam van uw Azure-opslagaccount moet uniek zijn om eenvoudig verder te kunnen gaan met het bouwen van uw ARM-sjabloon. Als u de eerdere zelfstudies in deze reeks hebt voltooid, bent u het zat om een unieke naam te bedenken. U lost dit probleem op door een variabele toe te voegen waarmee een unieke naam voor uw opslagaccount wordt gemaakt.
Variabele gebruiken
In het volgende voorbeeld zijn de wijzigingen gemarkeerd die nodig zijn om een variabele aan uw sjabloon toe te voegen waarmee u een unieke naam voor een opslagaccount kunt maken. Kopieer het hele bestand en vervang uw sjabloon door de inhoud ervan.
{
"$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]"
}
},
"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
}
}
]
}
U ziet dat het voorbeeld een variabele bevat met de naam uniqueStorageName
. Deze variabele maakt gebruik van vier functies om een tekenreekswaarde te maken.
U bent al bekend met de functie parameters, dus we gaan er hier niet verder op in.
U hebt ook al gewerkt met de functie resourceGroup. In dit geval vraagt u de eigenschap id
op in plaats van location
, zoals in de vorige zelfstudie. De id
eigenschap retourneert de volledige id van de resourcegroep, inclusief de abonnements-id en de naam van de resourcegroep.
Met de functie uniqueString wordt een hashwaarde van 13 tekens gemaakt. De parameters die u doorgeeft, bepalen de geretourneerde waarde. Voor deze zelfstudie gebruikt u de id van de resourcegroep als de invoer voor de hash-waarde. Dit betekent dat u deze sjabloon kunt implementeren in verschillende resourcegroepen om steeds een andere, unieke tekenreekswaarde te verkrijgen. U krijgt echter dezelfde waarde als u implementeert in dezelfde resourcegroep.
De functie concat accepteert waarden en combineert deze. Voor deze variabele worden de tekenreeks van de parameter en de tekenreeks van de uniqueString
functie gebruikt en gecombineerd tot één tekenreeks.
Met de storagePrefix
parameter kunt u een voorvoegsel doorgeven waarmee u opslagaccounts kunt identificeren. U kunt uw eigen naamconventie maken waarmee opslagaccounts na de implementatie gemakkelijker kunnen worden geïdentificeerd op basis van een uitgebreide lijst met resources.
Tot slot ziet u dat de naam van het opslagaccount nu is ingesteld op de variabele in plaats van een parameter.
Sjabloon implementeren
We gaan de sjabloon nu implementeren. Het implementeren van deze sjabloon is eenvoudiger dan de vorige sjablonen, omdat u alleen het voorvoegsel voor de naam van het opslagaccount opgeeft.
Zie Resourcegroep maken als u de resourcegroep nog niet hebt gemaakt. In het voorbeeld wordt ervan uitgegaan dat u de variabele templateFile
hebt ingesteld op het pad naar het sjabloonbestand, zoals weergegeven in de eerste zelfstudie.
New-AzResourceGroupDeployment `
-Name addnamevariable `
-ResourceGroupName myResourceGroup `
-TemplateFile $templateFile `
-storagePrefix "store" `
-storageSKU Standard_LRS
Notitie
Als de implementatie mislukt, gebruikt u de verbose
schakeloptie om informatie op te halen over de resources die worden gemaakt. Gebruik de schakeloptie debug
voor meer informatie over foutopsporing.
Implementatie verifiëren
U kunt de implementatie controleren door de resourcegroep te bekijken vanuit de Azure Portal.
- Meld u aan bij de Azure-portal.
- Selecteer Resourcegroepen in het linkermenu.
- Selecteer uw resourcegroep.
- U ziet dat de naam van uw geïmplementeerde opslagaccount store is, plus een tekenreeks met willekeurige tekens.
Resources opschonen
Als u verdergaat met de volgende zelfstudie, hoeft u de resourcegroep niet te verwijderen.
Als u nu stopt, wilt u de resourcegroep mogelijk verwijderen.
- Selecteer in het Azure Portal Resourcegroepen in het menu links.
- Typ de naam van de resourcegroep in het tekstveld Filteren op een veld...
- Schakel het selectievakje naast myResourceGroup in en selecteer myResourceGroup of de naam van uw resourcegroep.
- Selecteer Resourcegroep verwijderen in het bovenste menu.
Volgende stappen
In deze zelfstudie voegt u een variabele toe waarmee een unieke opslagaccountnaam wordt gemaakt. In de volgende zelfstudie retourneert u een waarde uit het geïmplementeerde opslagaccount.