Share via


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'i öneririz. Daha fazla bilgi edinmek için bkz . dizi işlevleri.

dizi

array(convertToArray)

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

Bicep'te dizi işlevini kullanın.

Parametreler

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

Dönüş değeri

Bir dizi.

Örnek

Aşağıdaki örnekte, dizi işlevinin 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'))]"
    }
  }
}

Yukarıdaki örnekten varsayılan değerleri içeren çı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 concat işlevini kullanın.

Parametreler

Parametre Zorunlu Türü Açıklama
arg1 Yes 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'))]"
    }
  }
}

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
return 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))]"
    }
  }
}

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

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

içerir

contains(container, itemToFind)

Dizinin bir değer, nesnenin anahtar mı yoksa dizenin alt dize mi 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 contains işlevini kullanın.

Parametreler

Parametre Zorunlu Türü Açıklama
kapsayıcı Yes dizi, nesne veya dize Bulunabilecek değeri içeren değer.
itemToFind Yes dize veya int Bulunacak değer.

Dönüş değeri

Öğe bulunursa True , değilse False.

Örnek

Aşağıdaki örnekte, farklı türlerde contains özelliğinin nasıl kullanılacağı 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')]"
    }
  }
}

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
stringTrue Boole True
stringFalse Boole False
objectTrue Boole True
objectFalse Boole False
arrayTrue Boole True
arrayFalse Boole False

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 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 createArray'nin 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": {
    "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()]"
    }
  }
}

Yukarıdaki örnekten varsayılan değerleri içeren çı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 []

empty

empty(itemToTest)

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

Bicep'te boş işlevini kullanın.

Parametreler

Parametre Zorunlu Türü Açıklama
itemToTest Yes 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'))]"
    }
  }
}

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

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

Birinci

first(arg1)

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

Bicep'te ilk işlevi kullanın.

Parametreler

Parametre Zorunlu Türü Açıklama
arg1 Yes 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, bir dizi ve dize ile ilk işlevin 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')]"
    }
  }
}

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

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

ındexof

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 Yes dizi Arama yapılan öğenin dizinini bulmak için kullanılacak dizi.
itemToFind Yes 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 indexOf ve lastIndexOf işlevlerinin 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şim

intersection(arg1, arg2, arg3, ...)

Parametrelerden ortak öğeler içeren tek bir dizi veya nesne döndürür.

Bicep'te kesişim işlevini kullanın.

Parametreler

Parametre Zorunlu Türü Açıklama
arg1 Yes dizi veya nesne Ortak öğeleri bulmak için kullanılacak ilk değer.
arg2 Yes 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 kesişim özelliğinin nasıl kullanılacağı 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'))]"
    }
  }
}

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

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

Sonuncu

last(arg1)

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

Bicep'te son işlevi kullanın.

Parametreler

Parametre Zorunlu Türü Açıklama
arg1 Yes 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, bir dizi ve dize ile son işlevin 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')]"
    }
  }
}

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

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

Lastındexof

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 Yes dizi Arama yapılan öğenin dizinini bulmak için kullanılacak dizi.
itemToFind Yes 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 indexOf ve lastIndexOf işlevlerinin 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 length işlevini kullanın.

Parametreler

Parametre Zorunlu Türü Açıklama
arg1 Yes 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 uzunluğun 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"
      ]
    },
    "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'))]"
    }
  }
}

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
arrayLength Int 3
stringLength Int 13
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 sitelerini oluştururken kullanılacak bir ad dizisine başvuracak.

"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.

max

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 max işlevini kullanın.

Parametreler

Parametre Zorunlu Türü Açıklama
arg1 Yes 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 max işlevinin 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": [ 0, 3, 2, 5, 4 ]
    }
  },
  "resources": [],
  "outputs": {
    "arrayOutput": {
      "type": "int",
      "value": "[max(parameters('arrayToTest'))]"
    },
    "intOutput": {
      "type": "int",
      "value": "[max(0,3,2,5,4)]"
    }
  }
}

Yukarıdaki örnekten varsayılan değerleri içeren çı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 min işlevini kullanın.

Parametreler

Parametre Zorunlu Türü Açıklama
arg1 Yes 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 min değerinin 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": [ 0, 3, 2, 5, 4 ]
    }
  },
  "resources": [],
  "outputs": {
    "arrayOutput": {
      "type": "int",
      "value": "[min(parameters('arrayToTest'))]"
    },
    "intOutput": {
      "type": "int",
      "value": "[min(0,3,2,5,4)]"
    }
  }
}

Yukarıdaki örnekten varsayılan değerleri içeren çı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 range işlevini kullanın.

Parametreler

Parametre Zorunlu Türü Açıklama
Startındex Yes int Dizideki ilk tamsayı. startIndex ve count toplamının 2147483647 büyük olmaması gerekir.
count Yes 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 range işlevinin nasıl kullanılacağı gösterilmektedir.

{
  "$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'))]"
    }
  }
}

Yukarıdaki örnekten varsayılan değerleri içeren çı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 skip işlevini kullanın.

Parametreler

Parametre Zorunlu Türü Açıklama
Originalvalue Yes dizi veya dize Atlanırken kullanılacak dizi veya dize.
numberToSkip Yes 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'))]"
    }
  }
}

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

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

take

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 take işlevini kullanın.

Parametreler

Parametre Zorunlu Türü Açıklama
Originalvalue Yes dizi veya dize Öğeleri almak için dizi veya dize.
numberToTake Yes 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, diziden 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'))]"
    }
  }
}

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

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

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 union işlevini kullanın.

Parametreler

Parametre Zorunlu Türü Açıklama
arg1 Yes dizi veya nesne Öğeleri birleştirmek için kullanılacak ilk değer.
arg2 Yes 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 işlevi, 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 yerleştirilmiş nesneleri yinelemeli olarak birleştirir. İç içe dizi değerleri birleştirilmemiş. Aşağıdaki bölümdeki ikinci örne bakın.

Örnek

Aşağıdaki örnekte diziler ve nesnelerle birleşim özelliğinin nasıl kullanılacağı 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'))]"
    }
  }
}

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
objectOutput Object {"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 Object {"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.