Ponowne używanie wyrażeń przy użyciu zmiennych szablonu usługi Azure Resource Manager
W poprzednim scenariuszu podjęto decyzję o użyciu wyrażenia złożonego z kilku funkcji szablonu usługi Azure Resource Manager (ARM), aby utworzyć unikatową nazwę konta usługi Azure Storage. Ta elastyczność gwarantuje, że wszyscy klienci będą mogli używać szablonu usługi ARM do swoich wdrożeń. Zauważ jednak, że dodanie tego wyrażenia w kilku miejscach jest problemem z utrzymaniem tego szablonu. Decydujesz się użyć zmiennej dla wyrażenia nazwy konta magazynu, aby można było zdefiniować wyrażenie w jednym miejscu i ponownie użyć go w całym szablonie.
Co to jest zmienna szablonu ARM?
Zmienna szablonu usługi ARM to konstrukt służący do przechowywania wartości do późniejszego użycia. Zmienne najlepiej używać, gdy wartość musi być określona w kilku miejscach w szablonie. Wszędzie tam, gdzie zmienna jest używana w szablonie, usługa Resource Manager zastępuje ją rozpoznaną wartością.
Na przykład masz wyrażenie, które definiuje wartość lokalizacji zasobu. Kilka zasobów zdefiniowanych w szablonie wymaga lokalizacji. Możesz utworzyć zmienną do przechowywania wyrażenia lokalizacji, a następnie użyć zmiennej wszędzie tam, gdzie jest wymagana lokalizacja.
Zalety korzystania ze zmiennych szablonu ARM
Zmienne w szablonach ARM pozwalają na jednokrotne zdefiniowanie wyrażenia, które następnie można używać w wielu miejscach. Ponadto utrzymanie definicji jest w jednym miejscu, a szablon jest bardziej czytelny.
Jak używać zmiennych szablonu ARM?
Zmienne w szablonie ARM są definiowane w sekcji variables: {}
szablonu. Na przykład poniżej przedstawiono wyrażenie nazwy konta pamięci masowej, którą zdefiniowałeś w poprzedniej jednostce. Teraz definiuje wartość zmiennej storageName
.
"variables": {
"storageName": "[concat(toLower(parameters('storageNamePrefix')), uniqueString(resourceGroup().id))]"
},
Następnie używaj zmiennej w szablonie wszędzie tam, gdzie potrzebna jest nazwa konta magazynowego.
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"name": "[variables('storageName')]",
...
}
]
Zalecenia dotyczące zmiennych szablonu ARM
Zmienne szablonu są zapisywane w notacji camel case. Najlepiej używać ich dla wartości, które należy określić więcej niż raz, zwłaszcza jeśli ta wartość jest wyrażeniem złożonym.
Nie używaj funkcji reference
w sekcji zmiennych szablonu. Funkcja reference
jest rozpoznawana w czasie wykonywania, a zmienne są rozpoznawane podczas analizowania szablonu. Ponadto nie należy używać zmiennych dla apiVersion
w zasobie. Wersja interfejsu API określa schemat zasobu i często nie można zmienić wersji bez zmieniania właściwości zasobu.