Tutorial: Hinzufügen von Variablen zu Ihrer ARM-Vorlage
In diesem Tutorial wird beschrieben, wie Sie Ihrer ARM-Vorlage (Azure Resource Manager-Vorlage) eine Variable hinzufügen. Variablen vereinfachen Ihre Vorlagen. Sie ermöglichen Ihnen, einen Ausdruck einmal zu schreiben und dann in der gesamten Vorlage wiederzuverwenden. Dieses Tutorial dauert ungefähr 7 Minuten.
Voraussetzungen
Wir empfehlen, das Tutorial zu Funktionen durchzuführen. Dies ist jedoch keine Voraussetzung.
Visual Studio Code muss mit der Azure Resource Manager-Tools-Erweiterung installiert und funktionsfähig sein, und Sie benötigen entweder Azure PowerShell oder die Azure-Befehlszeilenschnittstelle (Azure CLI). Weitere Informationen finden Sie unter Vorlagentools.
Überprüfen der Vorlage
Am Ende des vorherigen Tutorials enthielt Ihre Vorlage die folgenden JSON-Datei:
{
"$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
}
}
]
}
Der Name Ihres Azure Storage-Kontos muss eindeutig sein, damit Sie Ihre ARM-Vorlage ganz einfach erstellen können. Wenn Sie die vorherigen Tutorials in dieser Reihe durchgeführt haben, sind Sie es wahrscheinlich leid, ständig neue eindeutige Namen finden zu müssen. Um dieses Problem zu lösen, fügen Sie eine Variable hinzu, die einen eindeutigen Namen für Ihr Speicherkonto erstellt.
Verwenden einer Variablen
Im folgenden Beispiel sind die Änderungen hervorgehoben, die Sie vornehmen, um Ihrer Vorlage eine Variable hinzuzufügen, die einen eindeutigen Speicherkontonamen erstellt. Kopieren Sie die gesamte Datei, und ersetzen Sie Ihre Vorlage durch den Inhalt der Datei.
{
"$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
}
}
]
}
Beachten Sie, dass die Datei eine Variable namens uniqueStorageName
enthält. Diese Variable verwendet vier Funktionen, um einen Zeichenfolgenwert zu erstellen.
Da Sie bereits mit der Funktion parameters vertraut sind, werden wir uns an dieser Stelle nicht mit ihr befassen.
Sie kennen auch die Funktion resourceGroup. Im vorherigen Tutorial haben Sie die location
-Eigenschaft abgerufen. In diesem Fall rufen Sie stattdessen die id
-Eigenschaft ab. Die id
-Eigenschaft gibt den Bezeichner der Ressourcengruppe zurück, einschließlich der Abonnement-ID und des Namens der Ressourcengruppe.
Die uniqueString-Funktion erstellt einen Hashwert mit 13 Zeichen. Die Parameter, die Sie übergeben, bestimmen den zurückgegebenen Wert. In diesem Tutorial verwenden Sie die Ressourcengruppen-ID als Eingabe für den Hashwert. Sie könnten die Vorlage also in anderen Ressourcengruppen bereitstellen und einen anderen eindeutigen Zeichenfolgenwert abrufen. Wenn Sie die Vorlage in derselben Ressourcengruppe bereitstellen, erhalten Sie jedoch den gleichen Wert.
Die Funktion concat akzeptiert Werte und kombiniert sie. Bei dieser Variable akzeptiert sie die Zeichenfolge aus dem Parameter und die Zeichenfolge aus der uniqueString
-Funktion und kombiniert sie zu einer Zeichenfolge.
Mit dem storagePrefix
-Parameter können Sie ein Präfix übergeben, mit dem Sie Speicherkonten einfacher identifizieren können. Sie können eine eigene Benennungskonvention erstellen, mit der Sie Speicherkonten nach der Bereitstellung in einer umfangreichen Liste von Ressourcen einfacher erkennen können.
Beachten Sie auch, dass der Speicherkontoname jetzt nicht mehr auf einen Parameter, sondern auf die Variable festgelegt ist.
Bereitstellen der Vorlage
Nun stellen Sie die Vorlage bereit. Die Bereitstellung dieser Vorlage ist einfacher als die der vorherigen Vorlagen, da Sie nur das Präfix für den Speicherkontonamen angeben.
Falls Sie die Ressourcengruppe noch nicht erstellt haben, folgen Sie den Anweisungen unter Erstellen einer Ressourcengruppe. Dieses Beispiel setzt voraus, dass Sie die Variable templateFile
wie im ersten Tutorial beschrieben auf den Pfad zur Vorlagendatei festgelegt haben.
New-AzResourceGroupDeployment `
-Name addnamevariable `
-ResourceGroupName myResourceGroup `
-TemplateFile $templateFile `
-storagePrefix "store" `
-storageSKU Standard_LRS
Hinweis
Wenn bei der Bereitstellung ein Fehler auftritt, verwenden Sie den Schalter verbose
, um Informationen zu den erstellten Ressourcen abzurufen. Verwenden Sie den Schalter debug
, um weitere Informationen zum Debuggen zu erhalten.
Überprüfen der Bereitstellung
Sie können die Bereitstellung überprüfen, indem Sie sich die Ressourcengruppe im Azure-Portal ansehen.
- Melden Sie sich beim Azure-Portal an.
- Wählen Sie im linken Menü Ressourcengruppen aus.
- Wählen Sie Ihre Ressourcengruppe aus.
- Beachten Sie, dass Ihr bereitgestellter Speicherkontoname store mit einer zufällige Zeichenfolge lautet.
Bereinigen von Ressourcen
Wenn Sie mit dem nächsten Tutorial fortfahren, müssen Sie die Ressourcengruppe nicht löschen.
Wenn Sie jetzt aufhören, sollten Sie die Ressourcengruppe löschen.
- Wählen Sie im Azure-Portal im linken Menü die Option Ressourcengruppen aus.
- Geben Sie den Ressourcengruppennamen im Textfeld Nach einem beliebigen Feld filtern ein.
- Aktivieren Sie das Kontrollkästchen neben myResourceGroup, und wählen Sie myResourceGroup oder Ihren Ressourcengruppennamen aus.
- Wählen Sie Ressourcengruppe löschen aus dem Menü ganz oben aus.
Nächste Schritte
In diesem Tutorial haben Sie eine Variable hinzugefügt, die einen eindeutigen Namen für ein Speicherkonto erstellt. Im nächsten Tutorial geben Sie einen Wert aus dem bereitgestellten Speicherkonto zurück.