Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här självstudien får du lära dig hur du lägger till en variabel i din Azure Resource Manager-mall (ARM-mall). Variabler förenklar dina mallar. De låter dig skriva ett uttryck en gång och återanvända det i hela mallen. Den här tutorialen tar 7 minuter att slutföra.
Förutsättningar
Vi rekommenderar att du slutför självstudien om funktioner, men det krävs inte.
Du måste ha Visual Studio Code och antingen Azure PowerShell eller Azure CLI. Mer information finns i mallverktyg.
Granskningsmall
I slutet av den föregående självstudien hade mallen följande JSON-fil:
{
"$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
}
}
]
}
Namnet på ditt Azure Storage-konto måste vara unikt för att du enkelt ska kunna fortsätta att skapa ARM-mallen. Om du har slutfört de tidigare självstudierna i den här serien är du trött på att komma med ett unikt namn. Du löser det här problemet genom att lägga till en variabel som skapar ett unikt namn för ditt lagringskonto.
Använd variabel
I följande exempel visas ändringarna för att lägga till en variabel i mallen som skapar ett unikt lagringskontonamn. Kopiera hela filen och ersätt mallen med dess innehåll:
{
"$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
}
}
]
}
Observera att den innehåller en variabel med namnet uniqueStorageName. Den här variabeln använder fyra funktioner för att skapa ett strängvärde.
Du är redan bekant med parameterfunktionen , så vi kommer inte att undersöka den.
Du är också bekant med funktionen resourceGroup . I det här fallet får du id-egenskapen i stället för location-egenskapen, som visas i den föregående självstudien. Egenskapen id returnerar den fullständiga identifieraren för resursgruppen, inklusive prenumerations-ID:t och resursgruppens namn.
Funktionen uniqueString skapar ett hashvärde på 13 tecken. De parametrar som du skickar avgör det returnerade värdet. I den här självstudien använder du resursgrupps-ID:t som indata för hash-värdet. Det innebär att du kan distribuera den här mallen till olika resursgrupper och få ett annat unikt strängvärde. Du får dock samma värde om du distribuerar till samma resursgrupp.
Funktionen concat tar värden och kombinerar dem. För den här variabeln tar den strängen från parametern och strängen uniqueString från funktionen och kombinerar dem till en sträng.
Med storagePrefix parametern kan du skicka in ett prefix som hjälper dig att identifiera lagringskonton. Du kan skapa en egen namngivningskonvention som gör det enklare att identifiera lagringskonton efter distribution från en omfattande lista över resurser.
Observera slutligen att lagringskontonamnet nu är inställt på variabeln i stället för en parameter.
Distribuera mallen
Nu ska vi distribuera mallen. Det är enklare att distribuera den här mallen än de tidigare mallarna eftersom du bara anger prefixet för lagringskontots namn.
Om du inte har skapat resursgruppen kan du läsa Skapa resursgrupp. Exemplet förutsätter att du har angett variabeln templateFile till sökvägen till mallfilen, som du ser i den första självstudien.
New-AzResourceGroupDeployment `
-Name addnamevariable `
-ResourceGroupName myResourceGroup `
-TemplateFile $templateFile `
-storagePrefix "store" `
-storageSKU Standard_LRS
Anmärkning
Om distributionen misslyckas använder du växeln verbose för att hämta information om de resurser som skapas. Använd växeln debug för att få mer information om felsökning.
Verifiera driftsättningen
Du kan verifiera distributionen genom att utforska resursgruppen från Azure-portalen.
- Logga in på Azure-portalen.
- Välj Resursgrupper på den vänstra menyn.
- Välj din resursgrupp.
- Observera att ditt distribuerade lagringskontonamn är lagrat, plus en sträng med slumpmässiga tecken.
Rensa resurser
Om du går vidare till nästa självstudie behöver du inte ta bort resursgruppen.
Om du slutar nu kanske du vill ta bort resursgruppen.
- I Azure-portalen väljer du Resursgrupper på den vänstra menyn.
- Skriv resursgruppens namn i fältet Filter för alla fält... textfält.
- Markera kryssrutan bredvid myResourceGroup och välj myResourceGroup eller resursgruppens namn.
- Välj Ta bort resursgrupp på den översta menyn.
Nästa steg
I den här självstudien lägger du till en variabel som skapar ett unikt lagringskontonamn. I nästa handledning returnerar du ett värde från det driftsatta lagringskontot.