Wiederverwenden von Ausdrücken mithilfe von Azure Resource Manager-Vorlagenvariablen

Abgeschlossen

Im vorherigen Szenario haben Sie entschieden, einen Ausdruck zu verwenden, der aus mehreren Azure Resource Manager-Vorlagenfunktionen (ARM) besteht, um einen eindeutigen Namen für das Azure Storage-Konto zu erstellen. Diese Flexibilität stellt sicher, dass jeder Ihrer Kund*innen diese ARM-Vorlage für ihre Bereitstellungen verwenden kann. Sie stellen jedoch fest, dass das Hinzufügen dieses Ausdrucks an mehreren Stellen ein Problem bei der Verwaltung dieser Vorlage darstellt. Sie entscheiden sich für die Verwendung einer Variablen für den Speicherkontonamensausdruck, sodass Sie den Ausdruck an einer Stelle definieren und ihn in der gesamten Vorlage wiederverwenden können.

Was ist eine ARM-Vorlagenvariable?

Eine ARM-Vorlagenvariable ist ein Konstrukt, das einen Wert für die spätere Verwendung enthält. Variablen werden am besten verwendet, wenn ein Wert an mehreren Stellen in einer Vorlage angegeben werden muss. Wo auch immer die Variable in der Vorlage verwendet wird, ersetzt Resource Manager sie durch den aufgelösten Wert.

Beispielsweise verfügen Sie über einen Ausdruck, der einen Wert für einen Ressourcenspeicherort definiert. Mehrere der Ressourcen, die Sie in Ihrer Vorlage definiert haben, benötigen einen Speicherort. Sie können eine Variable erstellen, die den Speicherortausdruck enthält, und verwenden Sie die Variable dann an allen Stellen, an denen ein Speicherort erforderlich ist.

Vorteile der Verwendung von ARM-Vorlagenvariablen

ARM-Vorlagenvariablen ermöglichen das einmalige Schreiben eines Ausdrucks und die anschließende Verwendung an mehreren Stellen. Außerdem erfolgt die Verwaltung des Ausdrucks an einem Ort, und die Vorlage ist besser lesbar.

Verwenden von ARM-Vorlagenvariablen

ARM-Vorlagenvariablen werden im Abschnitt variables: {} der Vorlage definiert. Hier sehen Sie z. B. den Ausdruck für den Speicherkontonamen, den Sie in der letzten Einheit definiert haben. Er definiert jetzt den Wert für die Variable storageName.

"variables": {
  "storageName": "[concat(toLower(parameters('storageNamePrefix')), uniqueString(resourceGroup().id))]"
},

Verwenden Sie diese Variable dann in der Vorlage überall dort, wo Sie den Namen des Speicherkontos benötigen:

"resources": [
  {
    "type": "Microsoft.Storage/storageAccounts",
    "name": "[variables('storageName')]",
    ...
  }
]

Empfehlungen für ARM-Vorlagenvariablen

Vorlagenvariablen werden in gemischter Groß- und Kleinschreibung geschrieben. Sie eignen sich am besten für Werte, die Sie mehr als ein Mal angeben müssen, insbesondere wenn dieser Wert ein komplexer Ausdruck ist.

Verwenden Sie die reference-Funktion nicht im Abschnitt „variables“ der Vorlage. Die Funktion reference wird zur Laufzeit aufgelöst, und Variablen werden beim Analysieren der Vorlage aufgelöst. Verwenden Sie außerdem keine Variablen für apiVersion für eine Ressource. Die API-Version bestimmt das Schema der Ressource, und Sie können die Version häufig nicht ändern, ohne die Eigenschaften der Ressource zu ändern.