Azure Resource Manager şablon değişkenlerini kullanarak ifadeleri yeniden kullanma

Tamamlandı

Bir önceki senaryoda Azure depolama hesabı için benzersiz bir ad oluşturma amacıyla birkaç Azure Resource Manager (ARM) şablonu işlevinden oluşan bir ifadeyi kullanmaya karar verdiniz. Bu esneklik, tüm müşterilerinizin dağıtımları için ARM şablonunu kullanabilmesini sağlar. Ancak bu ifadeyi birkaç yere eklemenin şablonun bakımını yapmak için bir sorun olduğunu fark edeceksiniz. Depolama hesabı adı ifadesi için bir değişken kullanmaya ve bu sayede ifadeyi tek bir yerde tanımlayıp şablon genelinde yeniden faydalanmaya karar verdiniz.

ARM şablonu değişkeni nedir?

ARM şablonu değişkeni, bir değeri daha sonra kullanılmak üzere tutan bir yapıdır. Bir değerin şablonda birkaç farklı yerde kullanılacak olması halinde değişkenler oldukça faydalıdır. Değişken şablonun herhangi bir yerinde kullanıldığında Resource Manager bu değişkenin yerine çözümlenen değeri koyar.

Örneğin kaynak konumu değerini tanımlayan bir ifadeye sahip olabilirsiniz. Şablonunuzda tanımladığınız kaynakların birkaçı bir konum gerektirir. Konum ifadesini tutmak için bir değişken oluşturabilir ve ardından bir konumun gerekli olduğu her yerde değişkeni kullanabilirsiniz.

ARM şablonu değişkenlerini kullanmanın avantajları

ARM şablonu değişkenleri bir ifadeyi bir kez yazmanızı ve sonra bunu birkaç farklı yerde kullanmanızı sağlar. Ayrıca ifadenin bakımı tek bir yerden yapılır ve şablonu okumak daha kolay hale gelir.

ARM şablonu değişkenleri nasıl kullanılır?

ARM şablonu değişkenleri, şablonun variables: {} bölümünde tanımlanır. Örneğin, son ünitede tanımladığınız depolama hesabı adı ifadesini aşağıda görebilirsiniz. Artık storageName değişkeninin değerini tanımlamaktadır.

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

Şablonda depolama hesabı adına ihtiyaç duyduğunuz her yerde bu değişkeni kullanabilirsiniz:

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

ARM şablonu değişkenleri için öneriler

Şablon değişkenleri ortası büyük harfli şekilde belirtilir. Özellikle karmaşık ifadeler olmak üzere birden çok belirtmeniz gereken değerler için kullanılır.

reference işlevini şablonun değişkenler bölümünde kullanmayın. reference işlevi çalışma zamanında çözümlenir, değişkenler ise şablon ayrıştırıldığında çözümlenir. Ayrıca bir kaynağın apiVersion değeri için değişken kullanmayın. API sürümü, kaynağın şemasını belirler ve çoğu durumda sürümü değiştirebilmek için kaynağın özelliklerini değiştirmeniz gerekir.