Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Resource Manager, Azure Resource Manager şablonunuzdaki (ARM şablonu) nesnelerle çalışmak için çeşitli işlevler sağlar:
Tavsiye
ARM şablonlarıyla aynı özellikleri sunduğundan ve söz diziminin kullanımı daha kolay olduğundan Bicep önerilir. Daha fazla bilgi edinmek için bkz. nesne işlevleri.
içerir
contains(container, itemToFind)
Dizinin bir değer, nesnenin anahtar veya dizenin alt dize içerdiğini denetler. Dize karşılaştırması büyük/küçük harfe duyarlıdır. Ancak, bir nesnenin anahtar içerip içermediğini test ederken karşılaştırma büyük/küçük harfe duyarlı değildir.
Bicep'te işlevini kullanın contains .
Parametreler
| Parametre | Gerekli | Türü | Açıklama |
|---|---|---|---|
| konteyner | Evet | dizi, nesne veya dize | Bulunabilecek değeri içeren değer. |
| itemToFind | Evet | dize veya int | Bulunacak değer. |
Dönüş değeri
Öğe bulunursa True , değilse False.
Örnek
Aşağıdaki örnekte farklı türlerle nasıl kullanılacağı contains gösterilmektedir:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"stringToTest": {
"type": "string",
"defaultValue": "OneTwoThree"
},
"objectToTest": {
"type": "object",
"defaultValue": {
"one": "a",
"two": "b",
"three": "c"
}
},
"arrayToTest": {
"type": "array",
"defaultValue": [ "one", "two", "three" ]
}
},
"resources": [
],
"outputs": {
"stringTrue": {
"type": "bool",
"value": "[contains(parameters('stringToTest'), 'e')]"
},
"stringFalse": {
"type": "bool",
"value": "[contains(parameters('stringToTest'), 'z')]"
},
"objectTrue": {
"type": "bool",
"value": "[contains(parameters('objectToTest'), 'one')]"
},
"objectFalse": {
"type": "bool",
"value": "[contains(parameters('objectToTest'), 'a')]"
},
"arrayTrue": {
"type": "bool",
"value": "[contains(parameters('arrayToTest'), 'three')]"
},
"arrayFalse": {
"type": "bool",
"value": "[contains(parameters('arrayToTest'), 'four')]"
}
}
}
Önceki örnekteki varsayılan değerlerin çıkışı:
| İsim | Türü | Değer |
|---|---|---|
| stringTrue | Boole | Doğru |
| stringFalse | Boole | Yanlış |
| objectTrue | Boole | Doğru |
| objectFalse | Boole | Yanlış |
| arrayTrue | Boole | Doğru |
| arrayFalse | Boole | Yanlış |
createObject
createObject(key1, value1, key2, value2, ...)
Anahtarlardan ve değerlerden bir nesne oluşturur.
createObject İşlev Bicep tarafından desteklenmez. kullanarak {}bir nesne oluşturma. Bkz . Nesneler.
Parametreler
| Parametre | Gerekli | Türü | Açıklama |
|---|---|---|---|
| anahtar1 | Hayı | String | Anahtarın adı. |
| değer1 | Hayı | int, boole, dize, nesne veya dizi | Anahtarın değeri. |
| diğer tuşlar | Hayı | String | Anahtarların daha fazla adı. |
| daha fazla değer | Hayı | int, boole, dize, nesne veya dizi | Anahtarlar için daha fazla değer. |
işlevi yalnızca çift sayıda parametre kabul eder. Her anahtarın eşleşen bir değeri olmalıdır.
Dönüş değeri
Her anahtar ve değer çifti içeren bir nesne.
Örnek
Aşağıdaki örnek, farklı değer türlerinden bir nesne oluşturur:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
],
"outputs": {
"newObject": {
"type": "object",
"value": "[createObject('intProp', 1, 'stringProp', 'abc', 'boolProp', true(), 'arrayProp', createArray('a', 'b', 'c'), 'objectProp', createObject('key1', 'value1'))]"
}
}
}
Önceki örnekte varsayılan değerlerle elde edilen çıkış, aşağıdaki değere sahip adlı newObject bir nesnedir:
{
"intProp": 1,
"stringProp": "abc",
"boolProp": true,
"arrayProp": ["a", "b", "c"],
"objectProp": {"key1": "value1"}
}
boş
empty(itemToTest)
Dizi, nesne veya dizenin boş olup olmadığını belirler.
Bicep'te işlevini kullanın empty .
Parametreler
| Parametre | Gerekli | Türü | Açıklama |
|---|---|---|---|
| itemToTest | Evet | dizi, nesne veya dize | Boş olup olmadığını denetlemek için gereken değer. |
Dönüş değeri
Değer boşsa True, değilse False döndürür.
Örnek
Aşağıdaki örnek bir dizi, nesne ve dizenin boş olup olmadığını denetler:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"testArray": {
"type": "array",
"defaultValue": []
},
"testObject": {
"type": "object",
"defaultValue": {}
},
"testString": {
"type": "string",
"defaultValue": ""
}
},
"resources": [
],
"outputs": {
"arrayEmpty": {
"type": "bool",
"value": "[empty(parameters('testArray'))]"
},
"objectEmpty": {
"type": "bool",
"value": "[empty(parameters('testObject'))]"
},
"stringEmpty": {
"type": "bool",
"value": "[empty(parameters('testString'))]"
}
}
}
Önceki örnekteki varsayılan değerlerin çıkışı:
| İsim | Türü | Değer |
|---|---|---|
| arrayEmpty | Boole | Doğru |
| objectEmpty | Boole | Doğru |
| stringEmpty | Boole | Doğru |
kesişme
intersection(arg1, arg2, arg3, ...)
Parametrelerden ortak öğeler içeren tek bir dizi veya nesne döndürür.
Bicep'te işlevini kullanın intersection .
Parametreler
| Parametre | Gerekli | Türü | Açıklama |
|---|---|---|---|
| arg1 | Evet | dizi veya nesne | Ortak öğeleri bulmak için kullanılacak ilk değer. |
| arg2 | Evet | dizi veya nesne | Ortak öğeleri bulmak için kullanılacak ikinci değer. |
| diğer bağımsız değişkenler | Hayı | dizi veya nesne | Ortak öğeleri bulmak için kullanılacak daha fazla değer. |
Dönüş değeri
Ortak öğeleri olan bir dizi veya nesne.
Örnek
Aşağıdaki örnekte diziler ve nesnelerle nasıl kullanılacağı intersection gösterilmektedir:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"firstObject": {
"type": "object",
"defaultValue": {
"one": "a",
"two": "b",
"three": "c"
}
},
"secondObject": {
"type": "object",
"defaultValue": {
"one": "a",
"two": "z",
"three": "c"
}
},
"firstArray": {
"type": "array",
"defaultValue": [ "one", "two", "three" ]
},
"secondArray": {
"type": "array",
"defaultValue": [ "two", "three" ]
}
},
"resources": [
],
"outputs": {
"objectOutput": {
"type": "object",
"value": "[intersection(parameters('firstObject'), parameters('secondObject'))]"
},
"arrayOutput": {
"type": "array",
"value": "[intersection(parameters('firstArray'), parameters('secondArray'))]"
}
}
}
Önceki örnekteki varsayılan değerlerin çıkışı:
| İsim | Türü | Değer |
|---|---|---|
| objectOutput | Nesne | {"one": "a", "three": "c"} |
| arrayOutput | Dizi | ["iki", "üç"] |
eşya
items(object)
Sözlük nesnesini diziye dönüştürür. Bir diziyi nesneye dönüştürme hakkında toObject bölümüne bakın.
Bicep'te işlevini kullanın items .
Parametreler
| Parametre | Gerekli | Türü | Açıklama |
|---|---|---|---|
| object | Evet | object | Diziye dönüştürülecek sözlük nesnesi. |
Dönüş değeri
Dönüştürülen sözlük için bir nesne dizisi. Dizideki her nesne, sözlüğün anahtar değerini içeren bir key özelliğe sahiptir. Her nesnenin, nesnenin özelliklerini içeren bir value özelliği de vardır.
Örnek
Aşağıdaki örnek, bir sözlük nesnesini diziye dönüştürerek dizideki her nesne için değiştirilmiş değerlerle yeni bir nesne oluşturur:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {
"copy": [
{
"name": "modifiedListOfEntities",
"count": "[length(items(variables('entities')))]",
"input": {
"key": "[items(variables('entities'))[copyIndex('modifiedListOfEntities')].key]",
"fullName": "[items(variables('entities'))[copyIndex('modifiedListOfEntities')].value.displayName]",
"itemEnabled": "[items(variables('entities'))[copyIndex('modifiedListOfEntities')].value.enabled]"
}
}
],
"entities": {
"item002": {
"enabled": false,
"displayName": "Example item 2",
"number": 200
},
"item001": {
"enabled": true,
"displayName": "Example item 1",
"number": 300
}
}
},
"resources": [],
"outputs": {
"modifiedResult": {
"type": "array",
"value": "[variables('modifiedListOfEntities')]"
}
}
}
Yukarıdaki örnek şunu döndürür:
"modifiedResult": {
"type": "Array",
"value": [
{
"fullName": "Example item 1",
"itemEnabled": true,
"key": "item001"
},
{
"fullName": "Example item 2",
"itemEnabled": false,
"key": "item002"
}
]
}
Aşağıdaki örnekte işlevin döndürdüğü dizi gösterilmektedir items :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {
"entities": {
"item002": {
"enabled": false,
"displayName": "Example item 2",
"number": 200
},
"item001": {
"enabled": true,
"displayName": "Example item 1",
"number": 300
}
},
"entitiesArray": "[items(variables('entities'))]"
},
"resources": [],
"outputs": {
"itemsResult": {
"type": "array",
"value": "[variables('entitiesArray')]"
}
}
}
Örnek şunu döndürür:
"itemsResult": {
"type": "Array",
"value": [
{
"key": "item001",
"value": {
"displayName": "Example item 1",
"enabled": true,
"number": 300
}
},
{
"key": "item002",
"value": {
"displayName": "Example item 2",
"enabled": false,
"number": 200
}
}
]
}
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.
JSON
json(arg1)
Geçerli bir JSON dizesini JSON veri türüne dönüştürür.
Bicep'te işlevini kullanın json .
Parametreler
| Parametre | Gerekli | Türü | Açıklama |
|---|---|---|---|
| arg1 | Evet | String | JSON'a dönüştürülecek değer. Dize düzgün biçimlendirilmiş bir JSON dizesi olmalıdır. |
Dönüş değeri
Belirtilen dizedeki JSON veri türü veya null belirtildiğinde boş bir değer.
Açıklamalar
JSON nesnesine parametre değeri veya değişken eklemeniz gerekiyorsa, işleve geçirdiğiniz dizeyi oluşturmak için işlevini kullanın format .
Null değer almak için de kullanabilirsiniz null() .
Örnek
Aşağıdaki örnekte işlevin nasıl kullanılacağı gösterilmektedir json . Boş bir nesne için geçirebileceğinize null dikkat edin:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"jsonEmptyObject": {
"type": "string",
"defaultValue": "null"
},
"jsonObject": {
"type": "string",
"defaultValue": "{\"a\": \"b\"}"
},
"jsonString": {
"type": "string",
"defaultValue": "\"test\""
},
"jsonBoolean": {
"type": "string",
"defaultValue": "true"
},
"jsonInt": {
"type": "string",
"defaultValue": "3"
},
"jsonArray": {
"type": "string",
"defaultValue": "[[1,2,3 ]"
},
"concatValue": {
"type": "string",
"defaultValue": "demo value"
}
},
"resources": [
],
"outputs": {
"emptyObjectOutput": {
"type": "bool",
"value": "[empty(json(parameters('jsonEmptyObject')))]"
},
"objectOutput": {
"type": "object",
"value": "[json(parameters('jsonObject'))]"
},
"stringOutput": {
"type": "string",
"value": "[json(parameters('jsonString'))]"
},
"booleanOutput": {
"type": "bool",
"value": "[json(parameters('jsonBoolean'))]"
},
"intOutput": {
"type": "int",
"value": "[json(parameters('jsonInt'))]"
},
"arrayOutput": {
"type": "array",
"value": "[json(parameters('jsonArray'))]"
},
"concatObjectOutput": {
"type": "object",
"value": "[json(concat('{\"a\": \"', parameters('concatValue'), '\"}'))]"
}
}
}
Önceki örnekteki varsayılan değerlerin çıkışı:
| İsim | Türü | Değer |
|---|---|---|
| emptyObjectOutput | Boolean (Boole Mantığı) | Doğru |
| objectOutput | Nesne | {"a": "b"} |
| stringOutput | Dize | deneme |
| booleanOutput | Boolean (Boole Mantığı) | Doğru |
| intOutput | Tam sayı | 3 |
| arrayOutput | Dizi | [ 1, 2, 3 ] |
| concatObjectOutput | Nesne | { "a": "demo value" } |
uzunluk
length(arg1)
Bir dizideki öğe sayısını, dizedeki karakterleri veya nesnedeki kök düzeyi özellikleri döndürür.
Bicep'te işlevini kullanın length .
Parametreler
| Parametre | Gerekli | Türü | Açıklama |
|---|---|---|---|
| arg1 | Evet | dizi, dize veya nesne | Öğe sayısını almak için kullanılacak dizi, karakter sayısını almak için kullanılacak dize veya kök düzeyi özelliklerin sayısını almak için kullanılacak nesne. |
Dönüş değeri
Bir int.
Örnek
Aşağıdaki örnekte bir dizi ve dize ile nasıl kullanılacağı length gösterilmektedir:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"arrayToTest": {
"type": "array",
"defaultValue": [
"one",
"two",
"three"
]
},
"stringToTest": {
"type": "string",
"defaultValue": "One Two Three"
},
"objectToTest": {
"type": "object",
"defaultValue": {
"propA": "one",
"propB": "two",
"propC": "three",
"propD": {
"propD-1": "sub",
"propD-2": "sub"
}
}
}
},
"resources": [],
"outputs": {
"arrayLength": {
"type": "int",
"value": "[length(parameters('arrayToTest'))]"
},
"stringLength": {
"type": "int",
"value": "[length(parameters('stringToTest'))]"
},
"objectLength": {
"type": "int",
"value": "[length(parameters('objectToTest'))]"
}
}
}
Önceki örnekteki varsayılan değerlerin çıkışı:
| İsim | Türü | Değer |
|---|---|---|
| diziUzunluğu | Int | 3 |
| stringLength | Int | 13 (on üç) |
| objectLength | Int | 4 |
sıfır
null()
Null döndürür.
null İşlev Bicep'te kullanılamaz. Bunun yerine anahtar sözcüğünü null kullanın.
Parametreler
null İşlev herhangi bir parametre kabul etmez.
Dönüş değeri
Her zaman null olan bir değer.
Örnek
Aşağıdaki örnekte işlevi kullanılır null :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"emptyOutput": {
"type": "bool",
"value": "[empty(null())]"
}
}
}
Yukarıdaki örnekten alınan çıkış:
| İsim | Türü | Değer |
|---|---|---|
| emptyOutput | Boole | Doğru |
objectKeys
objectKeys(object)
Nesnenin anahtar-değer çiftleri koleksiyonu olduğu bir nesneden anahtarları döndürür.
Bicep'te işlevini kullanın objectKeys .
Parametreler
| Parametre | Gerekli | Türü | Açıklama |
|---|---|---|---|
| object | Evet | object | Anahtar-değer çiftleri koleksiyonu olan nesnesi. |
Dönüş değeri
Bir dizi.
Örnek
Aşağıdaki örnekte bir nesneyle nasıl kullanılacağı objectKeys gösterilmektedir:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {
"obj": {
"a": 1,
"b": 2
}
},
"resources": [],
"outputs": {
"keyArray": {
"type": "array",
"value": "[objectKeys(variables('obj'))]"
}
}
}
Yukarıdaki örnekten alınan çıkış:
| İsim | Türü | Değer |
|---|---|---|
| keyArray | Dizi | [ "a", "b" ] |
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.
shallowMerge
shallowMerge(inputArray)
Yalnızca en üst düzey nesnelerin birleştirildiği bir nesne dizisini birleştirir. Başka bir deyişle, birleştirilen nesneler iç içe nesneler içeriyorsa, bu iç içe nesne derin bir şekilde birleştirilmez; bunun yerine, bunlar tamamen birleştirilmiş nesneden karşılık gelen özellik tarafından değiştirilir.
Bicep'te işlevini kullanın shallowMerge .
Parametreler
| Parametre | Gerekli | Türü | Açıklama |
|---|---|---|---|
| inputArray | Evet | array | Bir nesne dizisi. |
Dönüş değeri
Bir nesnesi.
Örnek
Aşağıdaki örnekte shallowMergenasıl kullanılacağı gösterilmektedir:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {
"firstArray": [
{
"one": "a"
},
{
"two": "b"
},
{
"two": "c"
}
],
"secondArray": [
{
"one": "a",
"nested": {
"a": 1,
"nested": {
"c": 3
}
}
},
{
"two": "b",
"nested": {
"b": 2
}
}
]
},
"resources": [],
"outputs": {
"firstOutput": {
"type": "object",
"value": "[shallowMerge(variables('firstArray'))]"
},
"secondOutput": {
"type": "object",
"value": "[shallowMerge(variables('secondArray'))]"
}
}
}
Önceki örnekteki varsayılan değerlerin çıkışı:
| İsim | Türü | Değer |
|---|---|---|
| firstOutput | object | {"one":"a","two":"c"} |
| secondOutput | object | {"one":"a","nested":{"b":2},"two":"b"} |
firstOutput , birleştirilen nesnelerin yeni bir nesnede birleştirildiği özellikleri gösterir. Çakışan özellikler varsa (aynı ada sahip özellikler), birleştirilen son nesnenin özelliği genellikle önceliklidir.
secondOutput , sığ birleştirmenin bu iç içe nesneleri yinelemeli olarak birleştirmediği gösterir. Bunun yerine, iç içe nesnenin tamamı birleştirme nesnesinden karşılık gelen özellik ile değiştirilir.
tryGet
tryGet(itemToTest, keyOrIndex)
tryGet , bir nesne veya dizideki var olmayan bir özelliğe veya dizine erişmeye çalışırken dağıtım hatalarından kaçınmanıza yardımcı olur. Belirtilen anahtar veya dizin yoksa, tryGet hata oluşturmak yerine null döndürür.
Bicep'te safe-dereference işlecini kullanın.
Parametreler
| Parametre | Gerekli | Türü | Açıklama |
|---|---|---|---|
| itemToTest | Evet | dizi, nesne | Araştıracak bir nesne veya dizi. |
| keyOrIndex | Evet | dize, int | Diziden veya nesneden alınacak anahtar veya dizin. Nesneler için özellik adı veya diziler için dizin. |
Dönüş değeri
Varsa anahtar/dizindeki değeri döndürür. Anahtar/dizin eksikse veya sınırların dışındaysa null döndürür.
Örnek
Aşağıdaki örnek bir dizi, nesne ve dizenin boş olup olmadığını denetler:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"languageVersion": "2.0",
"contentVersion": "1.0.0.0",
"variables": {
"users": {
"name": "John Doe",
"age": 30
},
"colors": [
"red",
"green"
]
},
"resources": [],
"outputs": {
"region": {
"type": "string",
"nullable": true,
"value": "[tryGet(variables('users'), 'region')]"
},
"name": {
"type": "string",
"nullable": true,
"value": "[tryGet(variables('users'), 'name')]"
},
"firstColor": {
"type": "string",
"nullable": true,
"value": "[tryGet(variables('colors'), 0)]"
}
}
}
Yukarıdaki örnekten alınan çıkış:
| İsim | Türü | Değer |
|---|---|---|
| bölge | Dize | (NULL) |
| isim | Dize | John Doe |
| firstColor | Dize | Kırmızı |
birleşim
union(arg1, arg2, arg3, ...)
Parametrelerdeki tüm öğeleri içeren tek bir dizi veya nesne döndürür. Diziler için, yinelenen değerler bir kez eklenir. Nesneler için yinelenen özellik adları yalnızca bir kez eklenir.
Bicep'te işlevini kullanın union .
Parametreler
| Parametre | Gerekli | Türü | Açıklama |
|---|---|---|---|
| arg1 | Evet | dizi veya nesne | Öğeleri birleştirmek için kullanılacak ilk değer. |
| arg2 | Evet | dizi veya nesne | Öğeleri birleştirmek için kullanılacak ikinci değer. |
| diğer bağımsız değişkenler | Hayı | dizi veya nesne | Öğeleri birleştirmek için kullanılacak diğer değerler. |
Dönüş değeri
Dizi veya nesne.
Açıklamalar
işlevi, union sonucun sırasını ve değerlerini belirlemek için parametrelerin sırasını kullanır.
Diziler için işlev, ilk parametredeki her öğede yinelenir ve henüz mevcut değilse sonucuna ekler. Ardından, ikinci parametre ve diğer parametreler için işlemi yineler. Bir değer zaten varsa, dizideki önceki yerleşimi korunur.
Nesneler için, ilk parametredeki özellik adları ve değerler sonuda eklenir. Daha sonraki parametreler için, sonuda yeni adlar eklenir. Sonraki bir parametre aynı ada sahip bir özelliğe sahipse, bu değer var olan değerin üzerine yazar. Özelliklerin sırası garanti değildir.
union işlevi yalnızca üst düzey öğeleri birleştirmekle kalmaz, aynı zamanda iç içe dizileri ve nesneleri yinelemeli olarak birleştirir. Aşağıdaki bölümdeki ikinci örne bakın.
Örnek
Aşağıdaki örnekte diziler ve nesnelerle nasıl kullanılacağı union gösterilmektedir:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"firstObject": {
"type": "object",
"defaultValue": {
"one": "a",
"two": "b",
"three": "c1"
}
},
"secondObject": {
"type": "object",
"defaultValue": {
"three": "c2",
"four": "d",
"five": "e"
}
},
"firstArray": {
"type": "array",
"defaultValue": [ "one", "two", "three" ]
},
"secondArray": {
"type": "array",
"defaultValue": [ "three", "four" ]
}
},
"resources": [
],
"outputs": {
"objectOutput": {
"type": "object",
"value": "[union(parameters('firstObject'), parameters('secondObject'))]"
},
"arrayOutput": {
"type": "array",
"value": "[union(parameters('firstArray'), parameters('secondArray'))]"
}
}
}
Önceki örnekteki varsayılan değerlerin çıkışı:
| İsim | Türü | Değer |
|---|---|---|
| objectOutput | Nesne | {"one": "a", "two": "b", "three": "c2", "four": "d", "five": "e"} |
| arrayOutput | Dizi | ["bir", "iki", "üç", "dört"] |
Aşağıdaki örnekte derin birleştirme özelliği gösterilmektedir:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {
"firstObject": {
"property": {
"one": "a",
"two": "b",
"three": "c1"
},
"nestedArray": [
1,
2
]
},
"secondObject": {
"property": {
"three": "c2",
"four": "d",
"five": "e"
},
"nestedArray": [
3,
4
]
},
"firstArray": [
[
"one",
"two"
],
[
"three"
]
],
"secondArray": [
[
"three"
],
[
"four",
"two"
]
]
},
"resources": [],
"outputs": {
"objectOutput": {
"type": "Object",
"value": "[union(variables('firstObject'), variables('secondObject'))]"
},
"arrayOutput": {
"type": "Array",
"value": "[union(variables('firstArray'), variables('secondArray'))]"
}
}
}
Yukarıdaki örnekten alınan çıkış:
| İsim | Türü | Değer |
|---|---|---|
| objectOutput | Nesne | {"property":{"one":"a","two":"b","three":"c2","four":"d","five":"e"},"nestedArray":[3,4]} |
| arrayOutput | Dizi | [["bir","iki"],["üç"],["dört","iki"]] |
İç içe diziler birleştirildiyse objectOutput.nestedArray değeri [1, 2, 3, 4] ve arrayOutput değeri [["one", "iki", "üç"], ["üç", "dört", "iki"]] olur.
Sonraki Adımlar
ARM şablonundaki bölümlerin açıklaması için bkz . ARM şablonlarının yapısını ve söz dizimini anlama.