ARM şablonlarındaki veri türleri

Bu makalede, Azure Resource Manager şablonlarında (ARM şablonları) desteklenen veri türleri açıklanmaktadır.

Desteklenen türler

ARM şablonunda şu veri türlerini kullanabilirsiniz:

  • dizi
  • ikili
  • int
  • nesne
  • secureObject
  • securestring
  • Dize

Diziler

Diziler sol köşeli ayraçla ([) başlar ve sağ köşeli ayraçla (]) biter. Bir dizi tek bir satırda veya birden çok satırda bildirilebilir. Her öğe virgülle ayrılır.

"parameters": {
  "exampleArray": {
    "type": "array",
    "defaultValue": [
      1,
      2,
      3
    ]
  }
},

"outputs": {
  "arrayOutput": {
    "type": "array",
    "value": "[variables('exampleArray')]"
  },
  "firstExampleArrayElement": {
    "type": "int",
    "value": "[parameters('exampleArray')[0]]"
  }
}

Bir dizinin öğeleri aynı türde veya farklı türlerde olabilir.

"variables": {
  "mixedArray": [
    "[resourceGroup().name]",
    1,
    true,
    "example string"
  ]
}

"outputs": {
  "arrayOutput": {
    "type": "array",
    "value": "[variables('mixedArray')]"
  },
  "firstMixedArrayElement": {
    "type": "string",
    "value": "[variables('mixedArray')[0]]"
  }
}

Boolean değerleri

Boole değerleri belirtirken veya falsekullanıntrue. Değeri tırnak işaretleri ile çevrelemeyin.

"parameters": {
  "exampleBool": {
    "type": "bool",
    "defaultValue": true
  }
},

Tam Sayılar

Tamsayı değerleri belirtirken tırnak işareti kullanmayın.

"parameters": {
  "exampleInt": {
    "type": "int",
    "defaultValue": 1
  }
}

Satır içi parametre olarak geçirilen tamsayılar için, değer aralığı dağıtım için kullandığınız SDK veya komut satırı aracıyla sınırlandırılabilir. Örneğin, şablon dağıtmak için PowerShell kullanırken tamsayı türleri -2147483648 ile 2147483647 arasında değişebilir. Bu sınırlamayı önlemek için parametre dosyasında büyük tamsayı değerleri belirtin. Kaynak türleri, tamsayı özellikleri için kendi sınırlarını uygular.

Nesneler

Nesneler bir sol küme ayracı ({) ile başlar ve sağ küme ayracı (}) ile biter. Bir nesnedeki her özellik ve valueöğesinden key oluşur. key ve value çift tırnak içine alınır ve iki nokta üst üste (): ile ayrılır. Her özellik virgülle ayrılır.

"parameters": {
  "exampleObject": {
    "type": "object",
    "defaultValue": {
      "name": "test name",
      "id": "123-abc",
      "isCurrent": true,
      "tier": 1
    }
  }
}

Noktalı gösterimi olan bir nesneden özellik alabilirsiniz.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "exampleObject": {
            "type": "object",
            "defaultValue": {
                "name": "test name",
                "id": "123-abc",
                "isCurrent": true,
                "tier": 1
            }
        }
    },
    "resources": [
    ],
    "outputs": {
        "nameFromObject": {
            "type": "string",
            "value": "[parameters('exampleObject').name]"
        }
    }
}

JSON'da nesne, sıfır veya daha fazla anahtar/değer çifti içeren sıralanmamış bir koleksiyondur. Sıralama, uygulamalara bağlı olarak farklı olabilir. Örneğin, Bicep items() işlevi nesneleri alfabetik düzende sıralar. Diğer yerlerde özgün sıralama korunabilir. Bu determinizm olmadığından, dağıtım parametreleri ve çıkışlarıyla etkileşim kuran kod yazarken nesne anahtarlarının sıralanmasıyla ilgili varsayımlarda bulunmaktan kaçının.

Dizeler

Dizeler çift tırnak işaretiyle işaretlenir.

"parameters": {
  "exampleString": {
    "type": "string",
    "defaultValue": "test value"
  }
},

Dizelerin ve nesnelerin güvenliğini sağlama

Güvenli dize, dizeyle aynı biçimi, güvenli nesne ise nesneyle aynı biçimi kullanır. Bir parametreyi güvenli bir dizeye veya güvenli nesneye ayarladığınızda, parametrenin değeri dağıtım geçmişine kaydedilmez ve günlüğe kaydedilmez. Ancak, bu güvenli değeri güvenli değer beklemediğiniz bir özelliğe ayarlarsanız, değer korunmaz. Örneğin, bir etikete güvenli bir dize ayarlarsanız, bu değer düz metin olarak depolanır. Parolalar ve gizli diziler için güvenli dizeler kullanın.

Aşağıdaki örnekte iki güvenli parametre gösterilmektedir.

"parameters": {
  "password": {
    "type": "securestring"
  },
  "configValues": {
    "type": "secureObject"
  }
}

Dekont

Çıkış değerleri olarak güvenli dizeler veya nesneler kullanmayın. Çıkış değeri olarak güvenli bir değer eklerseniz, değer dağıtım geçmişinde görüntülenmez ve başka bir şablondan alınamaz. Bunun yerine, güvenli değeri bir anahtar kasasına kaydedin ve anahtar kasasından parametre olarak geçirin.

Sonraki adımlar

Şablon söz dizimi hakkında bilgi edinmek için bkz . ARM şablonlarının yapısını ve söz dizimini anlama.