Aracılığıyla paylaş


ARM şablonları için dizi işlevleri

Bu makalede, dizilerle çalışmaya yönelik şablon işlevleri açıklanmaktadır.

Bir değerle sınırlandırılmış dize değerleri dizisi almak için bkz . bölme.

İpucu

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 array . işlevler.

dizi

array(convertToArray)

Değeri bir diziye dönüştürür.

Bicep'te işlevini kullanın array .

Parametreler

Parametre Zorunlu Türü Açıklama
convertToArray Evet int, dize, dizi veya nesne Diziye dönüştürülecek değer.

Dönüş değeri

Bir dizi.

Örnek

Aşağıdaki örnekte işlevin array farklı türlerle nasıl kullanılacağı gösterilmektedir:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "intToConvert": {
      "type": "int",
      "defaultValue": 1
    },
    "stringToConvert": {
      "type": "string",
      "defaultValue": "efgh"
    },
    "objectToConvert": {
      "type": "object",
      "defaultValue": {
        "a": "b",
        "c": "d"
      }
    }
  },
  "resources": [
  ],
  "outputs": {
    "intOutput": {
      "type": "array",
      "value": "[array(parameters('intToConvert'))]"
    },
    "stringOutput": {
      "type": "array",
      "value": "[array(parameters('stringToConvert'))]"
    },
    "objectOutput": {
      "type": "array",
      "value": "[array(parameters('objectToConvert'))]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çıkışı:

Adı Türü Değer
intOutput Dizi [1]
stringOutput Dizi ["efgh"]
objectOutput Dizi [{"a": "b", "c": "d"}]

concat

concat(arg1, arg2, arg3, ...)

Birden çok diziyi birleştirir ve birleştirilmiş diziyi döndürür ya da birden çok dize değerini birleştirir ve birleştirilmiş dizeyi döndürür.

Bicep'te işlevini kullanın concat .

Parametreler

Parametre Zorunlu Türü Açıklama
arg1 Evet dizi veya dize Birleştirme için ilk dizi veya dize.
diğer bağımsız değişkenler Hayır dizi veya dize Birleştirme için sıralı sırada daha fazla dizi veya dize.

Bu işlev herhangi bir sayıda bağımsız değişken alabilir ve parametreler için dizeleri veya dizileri kabul edebilir. Ancak, parametreler için hem dizileri hem de dizeleri sağlayamazsınız. Diziler yalnızca diğer dizilerle birleştirilir.

Dönüş değeri

Birleştirilmiş değer dizesi veya dizisi.

Örnek

Aşağıdaki örnekte iki dizinin nasıl birleştirildiği gösterilmektedir:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "firstArray": {
      "type": "array",
      "defaultValue": [
        "1-1",
        "1-2",
        "1-3"
      ]
    },
    "secondArray": {
      "type": "array",
      "defaultValue": [
        "2-1",
        "2-2",
        "2-3"
      ]
    }
  },
  "resources": [
  ],
  "outputs": {
    "return": {
      "type": "array",
      "value": "[concat(parameters('firstArray'), parameters('secondArray'))]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çıkışı:

Adı Türü Değer
dönmek Dizi ["1-1", "1-2", "1-3", "2-1", "2-2", "2-3"]

Aşağıdaki örnekte iki dize değerinin nasıl birleştirildiği ve birleştirilmiş bir dizenin nasıl döndürüleceği gösterilmektedir:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "prefix": {
      "type": "string",
      "defaultValue": "prefix"
    }
  },
  "resources": [],
  "outputs": {
    "concatOutput": {
      "type": "string",
      "value": "[concat(parameters('prefix'), '-', uniqueString(resourceGroup().id))]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çıkışı:

Adı Türü Değer
concatOutput Dize prefix-5yj4yjf5mbg72

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 Zorunlu Türü Açıklama
kapsayıcı 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ışı:

Adı 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ış

createArray

createArray(arg1, arg2, arg3, ...)

Parametrelerden bir dizi oluşturur.

Bicep'te createArray işlev desteklenmez. Dizi oluşturmak için bkz. Bicep dizisi veri türü.

Parametreler

Parametre Zorunlu Türü Açıklama
Args (Türkçe) Hayır Dize, Tamsayı, Dizi veya Nesne Dizideki değerler.

Dönüş değeri

Bir dizi. Parametre sağlanmazsa boş bir dizi döndürür.

Örnek

Aşağıdaki örnekte farklı türlerle nasıl kullanılacağı createArray gösterilmektedir:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "objectToTest": {
      "type": "object",
      "defaultValue": {
        "one": "a",
        "two": "b",
        "three": "c"
      }
    },
    "arrayToTest": {
      "type": "array",
      "defaultValue": [ "one", "two", "three" ]
    }
  },
  "resources": [
  ],
  "outputs": {
    "stringArray": {
      "type": "array",
      "value": "[createArray('a', 'b', 'c')]"
    },
    "intArray": {
      "type": "array",
      "value": "[createArray(1, 2, 3)]"
    },
    "objectArray": {
      "type": "array",
      "value": "[createArray(parameters('objectToTest'))]"
    },
    "arrayArray": {
      "type": "array",
      "value": "[createArray(parameters('arrayToTest'))]"
    },
    "emptyArray": {
      "type": "array",
      "value": "[createArray()]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çıkışı:

Adı Türü Değer
stringArray Dizi ["a", "b", "c"]
intArray Dizi [1, 2, 3]
objectArray Dizi [{"one": "a", "two": "b", "three": "c"}]
arrayArray Dizi [["bir", "iki", "üç"]]
emptyArray Dizi []

boş

empty(itemToTest)

Dizi, nesne veya dizenin boş olup olmadığını belirler.

Bicep'te işlevini kullanın empty .

Parametreler

Parametre Zorunlu 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ışı:

Adı Türü Değer
arrayEmpty Boole Doğru
objectEmpty Boole Doğru
stringEmpty Boole Doğru

Birinci

first(arg1)

Dizinin ilk öğesini veya dizenin ilk karakterini döndürür.

Bicep'te işlevini kullanın first .

Parametreler

Parametre Zorunlu Türü Açıklama
arg1 Evet dizi veya dize İlk öğeyi veya karakteri almak için değer.

Dönüş değeri

Bir dizideki ilk öğenin türü (dize, int, dizi veya nesne) veya bir dizenin ilk karakteri.

Örnek

Aşağıdaki örnekte işlevin first bir dizi ve dize ile nasıl kullanılacağı 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" ]
    }
  },
  "resources": [
  ],
  "outputs": {
    "arrayOutput": {
      "type": "string",
      "value": "[first(parameters('arrayToTest'))]"
    },
    "stringOutput": {
      "type": "string",
      "value": "[first('One Two Three')]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çıkışı:

Adı Türü Değer
arrayOutput Dize bir
stringOutput Dize O

indexFromEnd

indexFromEnd(sourceArray, reverseIndex)

Sonundan geriye doğru sayarak dizinin bir öğesini döndürür. Bu, listenin başından değil sonundan başlayarak öğelere başvurmak istediğinizde kullanışlıdır. tryIndexFromEnd işlevi güvenli bir sürümüdürindexFromEnd.

Bicep'te Ayrılmış dizin erişimcisi işlecini kullanın.

Parametreler

Parametre Zorunlu Türü Açıklama
sourceArray Evet dizi Sonundan geriye doğru sayarak öğeyi alacak değer.
reverseIndex Evet tamsayı Dizinin sonundaki tek tabanlı dizin.

Dönüş değeri

Diziden tek bir öğe, dizinin sonundan geriye doğru sayılarak seçilir.

Örnek

Aşağıdaki örnekte işlevin nasıl kullanılacağı gösterilmektedir indexFromEnd :

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "items": [
      "apple",
      "banana",
      "orange",
      "grape"
    ]
  },
  "resources": [],
  "outputs": {
    "secondToLast": {
      "type": "string",
      "value": "[indexFromEnd(variables('items'), 2)]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çıkışı:

Adı Türü Değer
secondToLast Dize portakal

indexOf (özellik dizini bulma fonksiyonu)

indexOf(arrayToSearch, itemToFind)

Bir öğenin dizideki ilk oluşumunun dizini için bir tamsayı döndürür. Karşılaştırma, dizeler için büyük/küçük harfe duyarlıdır.

Parametreler

Parametre Zorunlu Türü Açıklama
arrayToSearch Evet dizi Arama yapılan öğenin dizinini bulmak için kullanılacak dizi.
itemToFind Evet int, dize, dizi veya nesne Dizide bulunacak öğe.

Dönüş değeri

Dizideki öğenin ilk dizinini temsil eden tamsayı. Dizin sıfır tabanlıdır. Öğe bulunamazsa-1 döndürülür.

Örnekler

Aşağıdaki örnekte ve indexOf işlevlerinin lastIndexOf nasıl kullanılacağı gösterilmektedir:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "names": [
      "one",
      "two",
      "three"
    ],
    "numbers": [
      4,
      5,
      6
    ],
    "collection": [
      "[variables('names')]",
      "[variables('numbers')]"
    ],
    "duplicates": [
      1,
      2,
      3,
      1
    ]
  },
  "resources": [],
  "outputs": {
    "index1": {
      "type": "int",
      "value": "[lastIndexOf(variables('names'), 'two')]"
    },
    "index2": {
      "type": "int",
      "value": "[indexOf(variables('names'), 'one')]"
    },
    "notFoundIndex1": {
      "type": "int",
      "value": "[lastIndexOf(variables('names'), 'Three')]"
    },
    "index3": {
      "type": "int",
      "value": "[lastIndexOf(variables('numbers'), 4)]"
    },
    "index4": {
      "type": "int",
      "value": "[indexOf(variables('numbers'), 6)]"
    },
    "notFoundIndex2": {
      "type": "int",
      "value": "[lastIndexOf(variables('numbers'), '5')]"
    },
    "index5": {
      "type": "int",
      "value": "[indexOf(variables('collection'), variables('numbers'))]"
    },
    "index6": {
      "type": "int",
      "value": "[indexOf(variables('duplicates'), 1)]"
    },
    "index7": {
      "type": "int",
      "value": "[lastIndexOf(variables('duplicates'), 1)]"
    }
  }
}

Yukarıdaki örnekten alınan çıkış:

Adı Türü Değer
dizin1 Int 1
dizin2 Int 0
dizin3 Int 0
dizin4 Int 2
dizin5 Int 1
index6 Int 0
dizin7 Int 3
notFoundIndex1 Int -1
notFoundIndex2 Int -1

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 Zorunlu 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ır 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ışı:

Adı Türü Değer
objectOutput Nesne {"one": "a", "three": "c"}
arrayOutput Dizi ["iki", "üç"]

Sonuncu

last(arg1)

Dizinin son öğesini veya dizenin son karakterini döndürür.

Bicep'te işlevini kullanın last .

Parametreler

Parametre Zorunlu Türü Açıklama
arg1 Evet dizi veya dize Son öğeyi veya karakteri almak için değer.

Dönüş değeri

Bir dizideki son öğenin türü (dize, int, dizi veya nesne) veya dizenin son karakteri.

Örnek

Aşağıdaki örnekte işlevin last bir dizi ve dize ile nasıl kullanılacağı 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" ]
    }
  },
  "resources": [
  ],
  "outputs": {
    "arrayOutput": {
      "type": "string",
      "value": "[last(parameters('arrayToTest'))]"
    },
    "stringOutput": {
      "type": "string",
      "value": "[last('One Two Three')]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çıkışı:

Adı Türü Değer
arrayOutput Dize üç
stringOutput Dize e

lastIndexOf

lastIndexOf(arrayToSearch, itemToFind)

Bir öğenin dizideki son oluşumunun dizini için bir tamsayı döndürür. Karşılaştırma, dizeler için büyük/küçük harfe duyarlıdır.

Parametreler

Parametre Zorunlu Türü Açıklama
arrayToSearch Evet dizi Arama yapılan öğenin dizinini bulmak için kullanılacak dizi.
itemToFind Evet int, dize, dizi veya nesne Dizide bulunacak öğe.

Dönüş değeri

Dizideki öğenin son dizinini temsil eden tamsayı. Dizin sıfır tabanlıdır. Öğe bulunamazsa-1 döndürülür.

Örnekler

Aşağıdaki örnekte ve indexOf işlevlerinin lastIndexOf nasıl kullanılacağı gösterilmektedir:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "names": [
      "one",
      "two",
      "three"
    ],
    "numbers": [
      4,
      5,
      6
    ],
    "collection": [
      "[variables('names')]",
      "[variables('numbers')]"
    ],
    "duplicates": [
      1,
      2,
      3,
      1
    ]
  },
  "resources": [],
  "outputs": {
    "index1": {
      "type": "int",
      "value": "[lastIndexOf(variables('names'), 'two')]"
    },
    "index2": {
      "type": "int",
      "value": "[indexOf(variables('names'), 'one')]"
    },
    "notFoundIndex1": {
      "type": "int",
      "value": "[lastIndexOf(variables('names'), 'Three')]"
    },
    "index3": {
      "type": "int",
      "value": "[lastIndexOf(variables('numbers'), 4)]"
    },
    "index4": {
      "type": "int",
      "value": "[indexOf(variables('numbers'), 6)]"
    },
    "notFoundIndex2": {
      "type": "int",
      "value": "[lastIndexOf(variables('numbers'), '5')]"
    },
    "index5": {
      "type": "int",
      "value": "[indexOf(variables('collection'), variables('numbers'))]"
    },
    "index6": {
      "type": "int",
      "value": "[indexOf(variables('duplicates'), 1)]"
    },
    "index7": {
      "type": "int",
      "value": "[lastIndexOf(variables('duplicates'), 1)]"
    }
  }
}

Yukarıdaki örnekten alınan çıkış:

Adı Türü Değer
dizin1 Int 1
dizin2 Int 0
dizin3 Int 0
dizin4 Int 2
dizin5 Int 1
index6 Int 0
dizin7 Int 3
notFoundIndex1 Int -1
notFoundIndex2 Int -1

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 Zorunlu 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ışı:

Adı Türü Değer
diziUzunluğu Int 3
stringLength Int 13 (on üç)
objectLength Int 4

Kaynak oluştururken yineleme sayısını belirtmek için bu işlevi bir diziyle kullanabilirsiniz. Aşağıdaki örnekte , siteNames parametresi web siteleri oluştururken kullanılacak bir ad dizisine başvurur:

"copy": {
  "name": "websitescopy",
  "count": "[length(parameters('siteNames'))]"
}

Bu işlevi bir diziyle kullanma hakkında daha fazla bilgi için bkz . ARM şablonlarında kaynak yinelemesi.

maksimum

max(arg1)

Bir tamsayı dizisinden veya virgülle ayrılmış bir tamsayı listesinden en büyük değeri döndürür.

Bicep'te işlevini kullanın max .

Parametreler

Parametre Zorunlu Türü Açıklama
arg1 Evet tamsayı dizisi veya virgülle ayrılmış tamsayı listesi En büyük değeri almak için koleksiyon.

Dönüş değeri

En büyük değeri temsil eden bir int.

Örnek

Aşağıdaki örnekte bir dizi ve tamsayı listesiyle nasıl kullanılacağı max gösterilmektedir:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "arrayToTest": {
      "type": "array",
      "defaultValue": [ 0, 3, 2, 5, 4 ]
    }
  },
  "resources": [],
  "outputs": {
    "arrayOutput": {
      "type": "int",
      "value": "[max(parameters('arrayToTest'))]"
    },
    "intOutput": {
      "type": "int",
      "value": "[max(0,3,2,5,4)]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çıkışı:

Adı Türü Değer
arrayOutput Int 5
intOutput Int 5

dk

min(arg1)

Bir tamsayı dizisinden veya virgülle ayrılmış bir tamsayı listesinden en düşük değeri döndürür.

Bicep'te işlevini kullanın min .

Parametreler

Parametre Zorunlu Türü Açıklama
arg1 Evet tamsayı dizisi veya virgülle ayrılmış tamsayı listesi En düşük değeri almak için koleksiyon.

Dönüş değeri

En düşük değeri temsil eden bir int.

Örnek

Aşağıdaki örnekte bir dizi ve tamsayı listesiyle nasıl kullanılacağı min gösterilmektedir:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "arrayToTest": {
      "type": "array",
      "defaultValue": [ 0, 3, 2, 5, 4 ]
    }
  },
  "resources": [],
  "outputs": {
    "arrayOutput": {
      "type": "int",
      "value": "[min(parameters('arrayToTest'))]"
    },
    "intOutput": {
      "type": "int",
      "value": "[min(0,3,2,5,4)]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çıkışı:

Adı Türü Değer
arrayOutput Int 0
intOutput Int 0

aralık

range(startIndex, count)

Başlangıç tamsayısından bir tamsayı dizisi oluşturur ve bir dizi öğe içerir.

Bicep'te işlevini kullanın range .

Parametreler

Parametre Zorunlu Türü Açıklama
startIndex Evet Int Dizideki ilk tamsayı. startIndex ve count toplamının 2147483647 büyük olmaması gerekir.
sayı Evet Int Dizideki tamsayı sayısı. 10000'e kadar negatif olmayan tamsayı olmalıdır.

Dönüş değeri

Tamsayı dizisi.

Örnek

Aşağıdaki örnekte işlevin nasıl kullanılacağı gösterilmektedir range :

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "startingInt": {
      "type": "int",
      "defaultValue": 5
    },
    "numberOfElements": {
      "type": "int",
      "defaultValue": 3
    }
  },
  "resources": [],
  "outputs": {
    "rangeOutput": {
      "type": "array",
      "value": "[range(parameters('startingInt'),parameters('numberOfElements'))]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çıkışı:

Adı Türü Değer
rangeOutput Dizi [5, 6, 7]

skip

skip(originalValue, numberToSkip)

Dizide belirtilen sayıdan sonra tüm öğeleri içeren bir dizi döndürür veya dizede belirtilen sayıdan sonraki tüm karakterleri içeren bir dize döndürür.

Bicep'te işlevini kullanın skip .

Parametreler

Parametre Zorunlu Türü Açıklama
originalValue Evet dizi veya dize Atlanırken kullanılacak dizi veya dize.
numberToSkip Evet Int Atlana öğe veya karakter sayısı. Bu değer 0 veya daha küçükse, değerdeki tüm öğeler veya karakterler döndürülür. Dizi veya dizenin uzunluğundan büyükse boş bir dizi veya dize döndürülür.

Dönüş değeri

Bir dizi veya dize.

Örnek

Aşağıdaki örnek, dizideki belirtilen öğe sayısını ve bir dizedeki belirtilen karakter sayısını atlar:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "testArray": {
      "type": "array",
      "defaultValue": [
        "one",
        "two",
        "three"
      ]
    },
    "elementsToSkip": {
      "type": "int",
      "defaultValue": 2
    },
    "testString": {
      "type": "string",
      "defaultValue": "one two three"
    },
    "charactersToSkip": {
      "type": "int",
      "defaultValue": 4
    }
  },
  "resources": [],
  "outputs": {
    "arrayOutput": {
      "type": "array",
      "value": "[skip(parameters('testArray'),parameters('elementsToSkip'))]"
    },
    "stringOutput": {
      "type": "string",
      "value": "[skip(parameters('testString'),parameters('charactersToSkip'))]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çıkışı:

Adı Türü Değer
arrayOutput Dizi ["üç"]
stringOutput Dize iki üç

almak

take(originalValue, numberToTake)

Bir dizi veya dize döndürür. Bir dizi, dizinin başından itibaren belirtilen sayıda öğeye sahiptir. Dize, dizenin başından itibaren belirtilen sayıda karaktere sahiptir.

Bicep'te işlevini kullanın take .

Parametreler

Parametre Zorunlu Türü Açıklama
originalValue Evet dizi veya dize Öğeleri almak için dizi veya dize.
numberToTake Evet Int Alınacak öğe veya karakter sayısı. Bu değer 0 veya daha küçükse boş bir dizi veya dize döndürülür. Verilen dizi veya dizenin uzunluğundan büyükse, dizideki veya dizedeki tüm öğeler döndürülür.

Dönüş değeri

Bir dizi veya dize.

Örnek

Aşağıdaki örnek, bir dizideki belirtilen sayıda öğeyi ve bir dizedeki karakterleri alır:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "testArray": {
      "type": "array",
      "defaultValue": [
        "one",
        "two",
        "three"
      ]
    },
    "elementsToTake": {
      "type": "int",
      "defaultValue": 2
    },
    "testString": {
      "type": "string",
      "defaultValue": "one two three"
    },
    "charactersToTake": {
      "type": "int",
      "defaultValue": 2
    }
  },
  "resources": [],
  "outputs": {
    "arrayOutput": {
      "type": "array",
      "value": "[take(parameters('testArray'),parameters('elementsToTake'))]"
    },
    "stringOutput": {
      "type": "string",
      "value": "[take(parameters('testString'),parameters('charactersToTake'))]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çıkışı:

Adı Türü Değer
arrayOutput Dizi ["bir", "iki"]
stringOutput Dize üzerinde

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 Zorunlu 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ış:

Adı Türü Değer
bölge Dize (NULL)
isim Dize John Doe
firstColor Dize Kırmızı

tryIndexFromEnd

tryndexFromEnd(sourceArray, reverseIndex)

tryIndexFromEnd işlevi güvenli bir sürümüdürindexFromEnd. Dizin aralık dışındaysa hata oluşturmadan sonundan geriye doğru sayarak diziden bir değer alır.

Bicep'te Ayrılmış dizin erişimcisi işlecini ve Güvenli başvuru kaldırma işlecini kullanın.

Parametreler

Parametre Zorunlu Türü Açıklama
sourceArray Evet dizi Sonundan geriye doğru sayarak öğeyi alacak değer.
reverseIndex Evet tamsayı Dizinin sonundaki tek tabanlı dizin.

Dönüş değeri

Dizin geçerliyse (dizi sınırları içinde), bu ters dizindeki dizi öğesini döndürür. Dizin aralık dışındaysa, hata oluşturmak yerine null döndürür.

Örnek

Aşağıdaki örnekte işlevin nasıl kullanılacağı gösterilmektedir tryIndexFromEnd :

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "items": [
      "apple",
      "banana",
      "orange",
      "grape"
    ]
  },
  "resources": [],
  "outputs": {
    "secondToLast": {
      "type": "string",
      "value": "[tryIndexFromEnd(variables('items'), 2)]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çıkışı:

Adı Türü Değer
secondToLast Dize portakal

Aşağıdaki örnekte, sınır dışı bir senaryo gösterilmektedir:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "languageVersion": "2.0",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "items": {
      "type": "array",
      "defaultValue": [
        "apple",
        "banana",
        "orange",
        "grape"
      ]
    }
  },
  "resources": {},
  "outputs": {
    "outOfBound": {
      "type": "string",
      "nullable": true,
      "value": "[tryIndexFromEnd(parameters('items'), 5)]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çıkışı:

Adı Türü Değer
outOfBound Dize (null)

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 Zorunlu 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ır dizi veya nesne Öğeleri birleştirmek için kullanılacak diğer değerler.

Dönüş değeri

Dizi veya nesne.

Açıklamalar

, union function 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 İşlev yalnızca üst düzey öğeleri birleştirmekle kalmaz, aynı zamanda iç içe yerleştirilmiş nesneleri yinelemeli olarak birleştirir. İç içe dizi değerleri birleştirilmeyen. 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ışı:

Adı 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ış:

Adı 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.