Fungsi array untuk templat ARM
Artikel ini menjelaskan fungsi templat untuk bekerja dengan array.
Untuk mendapatkan array nilai string yang dibatasi oleh nilai, lihat memisahkan.
Tip
Kami merekomendasikan Bicep karena menawarkan kemampuan yang sama dengan templat ARM dan sintaksnya lebih mudah digunakan. Untuk mempelajari selengkapnya, lihat fungsi array.
array
array(convertToArray)
Mengonversi nilai menjadi array.
Di Bicep, gunakan fungsi array.
Parameter
Parameter | Wajib | Tipe | Deskripsi |
---|---|---|---|
convertToArray | Ya | int, string, array, atau objek | Nilai untuk dikonversi menjadi array. |
Nilai hasil
Array.
Contoh
Contoh berikut menunjukkan cara menggunakan fungsi array dengan jenis yang berbeda.
{
"$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'))]"
}
}
}
Output dari contoh sebelumnya dengan nilai default adalah:
Nama | Jenis | Nilai |
---|---|---|
intOutput | Array | [1] |
stringOutput | Array | ["efgh"] |
objectOutput | Array | [{"a": "b", "c": "d"}] |
concat
concat(arg1, arg2, arg3, ...)
Menggabungkan beberapa nilai array dan mengembalikan array yang digabungkan, atau menggabungkan beberapa string dan mengembalikan string yang digabungkan.
Di Bicep, gunakan fungsi concat.
Parameter
Parameter | Wajib | Tipe | Deskripsi |
---|---|---|---|
arg1 | Ya | array atau string | Array atau string pertama untuk perangkaian. |
lebih banyak argumen | No | array atau string | Lebih banyak array atau untai (karakter) dalam urutan yang berurutan untuk perangkaian. |
Fungsi ini dapat mengambil sejumlah argumen, dan dapat menerima string atau array untuk parameter. Namun, Anda tidak dapat menyediakan array dan string untuk parameter. Array hanya digabungkan dengan array lainnya.
Nilai hasil
String atau array nilai yang digabungkan.
Contoh
Contoh berikut menunjukkan cara menggabungkan dua array.
{
"$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'))]"
}
}
}
Output dari contoh sebelumnya dengan nilai default adalah:
Nama | Jenis | Nilai |
---|---|---|
return | Array | ["1-1", "1-2", "1-3", "2-1", "2-2", "2-3"] |
Contoh berikut menunjukkan cara menggabungkan dua nilai string dan mengembalikan string gabungan.
{
"$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))]"
}
}
}
Output dari contoh sebelumnya dengan nilai default adalah:
Nama | Jenis | Nilai |
---|---|---|
concatOutput | String | prefix-5yj4yjf5mbg72 |
mengandung
contains(container, itemToFind)
Memeriksa apakah array berisi nilai, objek berisi kunci, atau untai (karakter) berisi sub-untai (karakter). Perbandingan untai (karakter) peka terhadap huruf besar/kecil. Namun, ketika pengujian, jika objek berisi kunci, perbandingannya tidak peka huruf besar/kecil.
Di Bicep, gunakan fungsi contains.
Parameter
Parameter | Wajib | Tipe | Deskripsi |
---|---|---|---|
kontainer | Ya | array, objek, atau string | Nilai yang berisi nilai untuk ditemukan. |
itemToFind | Ya | string atau int | Nilai untuk ditemukan. |
Nilai hasil
Benar jika item ditemukan; jika tidak, Salah.
Contoh
Contoh berikut menunjukkan cara menggunakan berisi dengan jenis yang berbeda:
{
"$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')]"
}
}
}
Output dari contoh sebelumnya dengan nilai default adalah:
Nama | Jenis | Nilai |
---|---|---|
stringTrue | Bool | Benar |
stringFalse | Bool | Salah |
objectTrue | Bool | Benar |
objectFalse | Bool | Salah |
arrayTrue | Bool | Benar |
arrayFalse | Bool | Salah |
createArray
createArray(arg1, arg2, arg3, ...)
Membuat array dari parameter.
Di Bicep, fungsi createArray
tidak didukung. Untuk membuat array, lihat jenis data array Bicep.
Parameter
Parameter | Wajib | Tipe | Deskripsi |
---|---|---|---|
argumen | No | String, Bilangan Bulat, Array, atau Objek | Nilai dalam array. |
Nilai hasil
Array. Ketika tidak ada parameter yang disediakan, parameter akan mengembalikan array kosong.
Contoh
Contoh berikut menunjukkan cara menggunakan createArray dengan jenis yang berbeda:
{
"$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()]"
}
}
}
Output dari contoh sebelumnya dengan nilai default adalah:
Nama | Jenis | Nilai |
---|---|---|
stringArray | Array | ["a", "b", "c"] |
intArray | Array | [1, 2, 3] |
objectArray | Array | [{"one": "a", "two": "b", "three": "c"}] |
arrayArray | Array | [["one", "two", "three"]] |
emptyArray | Array | [] |
kosong
empty(itemToTest)
Menentukan apakah array, objek, atau untai (karakter) kosong.
Di Bicep, gunakan fungsi empty.
Parameter
Parameter | Wajib | Tipe | Deskripsi |
---|---|---|---|
itemToTest | Ya | array, objek, atau string | Nilai untuk memeriksa apakah nilainya kosong. |
Nilai hasil
Kembalikan Benar jika nilainya kosong; jika tidak, Salah.
Contoh
Contoh berikut ini memeriksa apakah array, objek, dan string kosong.
{
"$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'))]"
}
}
}
Output dari contoh sebelumnya dengan nilai default adalah:
Nama | Jenis | Nilai |
---|---|---|
arrayEmpty | Bool | Benar |
objectEmpty | Bool | Benar |
stringEmpty | Bool | Benar |
pertama
first(arg1)
Mengembalikan elemen pertama dari array, atau karakter pertama string.
Di Bicep, gunakan fungsi first.
Parameter
Parameter | Wajib | Tipe | Deskripsi |
---|---|---|---|
arg1 | Ya | array atau string | Nilai untuk mengambil elemen atau karakter pertama. |
Nilai hasil
Jenis (string, int, array, atau objek) dari elemen pertama dalam array, atau karakter pertama dari string.
Contoh
Contoh berikut menunjukkan cara menggunakan fungsi pertama dengan array dan string.
{
"$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')]"
}
}
}
Output dari contoh sebelumnya dengan nilai default adalah:
Nama | Jenis | Nilai |
---|---|---|
arrayOutput | String | satu |
stringOutput | String | O |
indexOf
indexOf(arrayToSearch, itemToFind)
Mengembalikan bilangan bulat untuk indeks kemunculan pertama item dalam array. Perbandingannya adalah peka huruf besar/kecil untuk string.
Parameter
Parameter | Wajib | Tipe | Deskripsi |
---|---|---|---|
arrayToSearch | Ya | array | Array yang digunakan untuk menemukan indeks item yang dicari. |
itemToFind | Ya | int, string, array, atau objek | Item yang dicari dalam array. |
Nilai hasil
Bilangan bulat yang mewakili indeks pertama item dalam array. Indeks berbasis nol. Jika item tidak ditemukan, -1 dikembalikan.
Contoh
Contoh berikut memperlihatkan cara menggunakan fungsi indexOf dan lastIndexOf:
{
"$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)]"
}
}
}
Output dari contoh sebelumnya adalah:
Nama | Jenis | Nilai |
---|---|---|
index1 | int | 1 |
index2 | int | 0 |
index3 | int | 0 |
index4 | int | 2 |
index5 | int | 1 |
index6 | int | 0 |
index7 | int | 3 |
notFoundIndex1 | int | -1 |
notFoundIndex2 | int | -1 |
persimpangan
intersection(arg1, arg2, arg3, ...)
Mengembalikan satu array atau objek dengan elemen umum dari parameter.
Di Bicep, gunakan fungsi intersection.
Parameter
Parameter | Wajib | Tipe | Deskripsi |
---|---|---|---|
arg1 | Ya | array atau objek | Nilai pertama yang digunakan untuk menemukan elemen umum. |
arg2 | Ya | array atau objek | Nilai kedua yang digunakan untuk menemukan elemen umum. |
lebih banyak argumen | No | array atau objek | Lebih banyak nilai yang digunakan untuk menemukan elemen umum. |
Nilai hasil
Array atau objek dengan elemen umum.
Contoh
Contoh berikut menunjukkan cara menggunakan persimpangan dengan array dan objek.
{
"$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'))]"
}
}
}
Output dari contoh sebelumnya dengan nilai default adalah:
Nama | Jenis | Nilai |
---|---|---|
objectOutput | Objek | {"one": "a", "three": "c"} |
arrayOutput | Array | ["two", "three"] |
terakhir
last(arg1)
Mengembalikan elemen terakhir dari array, atau karakter terakhir dari string.
Di Bicep, gunakan fungsi last.
Parameter
Parameter | Wajib | Tipe | Deskripsi |
---|---|---|---|
arg1 | Ya | array atau string | Nilai untuk mengambil elemen atau karakter terakhir. |
Nilai hasil
Jenis (string, int, array, atau objek) dari elemen terakhir dalam array, atau karakter terakhir dari string.
Contoh
Contoh berikut menunjukkan cara menggunakan fungsi terakhir dengan array dan string.
{
"$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')]"
}
}
}
Output dari contoh sebelumnya dengan nilai default adalah:
Nama | Jenis | Nilai |
---|---|---|
arrayOutput | String | tiga |
stringOutput | String | e |
lastIndexOf
lastIndexOf(arrayToSearch, itemToFind)
Mengembalikan bilangan bulat untuk indeks kemunculan terakhir item dalam array. Perbandingannya adalah peka huruf besar/kecil untuk string.
Parameter
Parameter | Wajib | Tipe | Deskripsi |
---|---|---|---|
arrayToSearch | Ya | array | Array yang digunakan untuk menemukan indeks item yang dicari. |
itemToFind | Ya | int, string, array, atau objek | Item yang dicari dalam array. |
Nilai hasil
Bilangan bulat yang mewakili indeks terakhir item dalam array. Indeks berbasis nol. Jika item tidak ditemukan, -1 dikembalikan.
Contoh
Contoh berikut memperlihatkan cara menggunakan fungsi indexOf dan lastIndexOf:
{
"$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)]"
}
}
}
Output dari contoh sebelumnya adalah:
Nama | Jenis | Nilai |
---|---|---|
index1 | int | 1 |
index2 | int | 0 |
index3 | int | 0 |
index4 | int | 2 |
index5 | int | 1 |
index6 | int | 0 |
index7 | int | 3 |
notFoundIndex1 | int | -1 |
notFoundIndex2 | int | -1 |
length
length(arg1)
Mengembalikan jumlah elemen dalam array, karakter dalam untai (karakter), atau properti tingkat root dalam objek.
Di Bicep, gunakan fungsi length.
Parameter
Parameter | Wajib | Tipe | Deskripsi |
---|---|---|---|
arg1 | Ya | array, untai (karakter), atau objek | Array yang digunakan untuk mendapatkan jumlah elemen, untai (karakter) yang digunakan untuk mendapatkan jumlah karakter, atau objek yang digunakan untuk mendapatkan jumlah properti tingkat root. |
Nilai hasil
Int.
Contoh
Contoh berikut menunjukkan cara menggunakan panjang dengan array dan untai (karakter).
{
"$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'))]"
}
}
}
Output dari contoh sebelumnya dengan nilai default adalah:
Nama | Jenis | Nilai |
---|---|---|
arrayLength | Int | 3 |
stringLength | Int | 13 |
objectLength | Int | 4 |
Anda bisa menggunakan fungsi ini dengan array untuk menentukan jumlah iterasi saat membuat sumber daya. Dalam contoh berikut, parameter siteNames akan merujuk ke array nama yang akan digunakan saat membuat situs web.
"copy": {
"name": "websitescopy",
"count": "[length(parameters('siteNames'))]"
}
Untuk informasi selengkapnya tentang menggunakan fungsi ini dengan array, lihat Iterasi sumber daya dalam templat ARM.
maks
max(arg1)
Mengembalikan nilai maksimum dari array bilangan bulat atau daftar bilangan bulat yang dipisahkan koma.
Di Bicep, gunakan fungsi max.
Parameter
Parameter | Wajib | Tipe | Deskripsi |
---|---|---|---|
arg1 | Ya | array bilangan bulat, atau daftar bilangan bulat yang dipisahkan koma | Kumpulan untuk mendapatkan nilai maksimum. |
Nilai hasil
Int yang mewakili nilai maksimum.
Contoh
Contoh berikut menunjukkan cara menggunakan maks dengan array dan daftar bilangan bulat.
{
"$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)]"
}
}
}
Output dari contoh sebelumnya dengan nilai default adalah:
Nama | Jenis | Nilai |
---|---|---|
arrayOutput | Int | 5 |
intOutput | Int | 5 |
min
min(arg1)
Mengembalikan nilai minimum dari array bilangan bulat atau daftar bilangan bulat yang dipisahkan koma.
Di Bicep, gunakan fungsi min.
Parameter
Parameter | Wajib | Tipe | Deskripsi |
---|---|---|---|
arg1 | Ya | array bilangan bulat, atau daftar bilangan bulat yang dipisahkan koma | Kumpulan untuk mendapatkan nilai minimum. |
Nilai hasil
Int yang mewakili nilai maksimum.
Contoh
Contoh berikut menunjukkan cara menggunakan min dengan array dan daftar bilangan bulat.
{
"$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)]"
}
}
}
Output dari contoh sebelumnya dengan nilai default adalah:
Nama | Jenis | Nilai |
---|---|---|
arrayOutput | Int | 0 |
intOutput | Int | 0 |
rentang
range(startIndex, count)
Membuat array bilangan bulat dari bilangan bulat awal dan berisi sejumlah item.
Di Bicep, gunakan fungsi range.
Parameter
Parameter | Wajib | Tipe | Deskripsi |
---|---|---|---|
startIndex | Ya | int | Bilangan bulat pertama dalam array. Jumlah startIndex dan hitungan harus tidak lebih besar dari 2147483647. |
jumlah | Ya | int | Jumlah bilangan bulat dalam array. Harus bilangan bulat non-negatif hingga 10000. |
Nilai hasil
Array bilangan bulat.
Contoh
Contoh berikut menunjukkan cara menggunakan fungsi rentang.
{
"$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'))]"
}
}
}
Output dari contoh sebelumnya dengan nilai default adalah:
Nama | Jenis | Nilai |
---|---|---|
rangeOutput | Array | [5, 6, 7] |
skip
skip(originalValue, numberToSkip)
Mengembalikan array dengan semua elemen setelah nomor yang ditentukan dalam array, atau mengembalikan string dengan semua karakter setelah nomor yang ditentukan dalam string.
Di Bicep, gunakan fungsi skip.
Parameter
Parameter | Wajib | Tipe | Deskripsi |
---|---|---|---|
originalValue | Ya | array atau string | Array atau string yang digunakan untuk melompati. |
numberToSkip | Ya | int | Jumlah elemen atau karakter yang akan dilompati. Jika nilai ini adalah 0 atau kurang, semua elemen atau karakter dalam nilai dikembalikan. Jika lebih besar dari panjang array atau string, array atau string kosong akan dikembalikan. |
Nilai hasil
Array atau string.
Contoh
Contoh berikut melompati jumlah elemen yang ditentukan dalam array, dan jumlah karakter yang ditentukan dalam string.
{
"$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'))]"
}
}
}
Output dari contoh sebelumnya dengan nilai default adalah:
Nama | Jenis | Nilai |
---|---|---|
arrayOutput | Array | ["three"] |
stringOutput | String | dua tiga |
take
take(originalValue, numberToTake)
Mengembalikan array atau string. Array memiliki jumlah elemen yang ditentukan sejak awal array. Sebuah string memiliki jumlah karakter yang ditentukan dari awal string.
Di Bicep, gunakan fungsi take.
Parameter
Parameter | Wajib | Tipe | Deskripsi |
---|---|---|---|
originalValue | Ya | array atau string | Array atau string untuk mengambil elemen. |
numberToTake | Ya | int | Jumlah elemen atau karakter yang akan diambil. Jika nilai ini adalah 0 atau kurang, array atau string kosong dikembalikan. Jika lebih besar dari panjang array atau string yang diberikan, semua elemen dalam array atau string dikembalikan. |
Nilai hasil
Array atau string.
Contoh
Contoh berikut mengambil jumlah elemen yang ditentukan dari array, dan karakter dari string.
{
"$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'))]"
}
}
}
Output dari contoh sebelumnya dengan nilai default adalah:
Nama | Jenis | Nilai |
---|---|---|
arrayOutput | Array | ["one", "two"] |
stringOutput | String | aktif |
penyatuan
union(arg1, arg2, arg3, ...)
Mengembalikan satu array atau objek dengan semua elemen dari parameter. Untuk array, nilai duplikat disertakan sekali. Untuk objek, nama properti duplikat hanya disertakan sekali.
Di Bicep, gunakan fungsi union.
Parameter
Parameter | Wajib | Tipe | Deskripsi |
---|---|---|---|
arg1 | Ya | array atau objek | Nilai pertama yang digunakan untuk menggabungkan elemen. |
arg2 | Ya | array atau objek | Nilai kedua yang digunakan untuk menggabungkan elemen. |
lebih banyak argumen | No | array atau objek | Lebih banyak nilai yang digunakan untuk menggabungkan elemen. |
Nilai hasil
Array atau objek.
Keterangan
Fungsi penyatuan menggunakan urutan parameter untuk menentukan urutan dan nilai hasil.
Untuk array, fungsi akan muncul di setiap elemen dalam parameter pertama dan menambahkannya ke hasil jika belum tersedia. Kemudian, fungsi tersebut mengulangi proses untuk parameter kedua serta parameter lainnya. Jika nilai sudah tersedia, penempatan sebelumnya dalam array dipertahankan.
Untuk objek, nilai dan nama properti dari parameter pertama ditambahkan ke hasil. Untuk parameter selanjutnya, setiap nama baru akan ditambahkan ke hasil. Jika parameter berikutnya memiliki properti dengan nama yang sama, nilai tersebut menimpa nilai yang sudah ada. Urutan properti tidak dijamin.
Fungsi gabungan tidak hanya menggabungkan elemen tingkat atas tetapi juga secara rekursif menggabungkan objek berlapis di dalamnya. Nilai array berlapis tidak digabungkan. Lihat contoh kedua di bagian berikut.
Contoh
Contoh berikut menunjukkan cara menggunakan union dengan array dan objek.
{
"$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'))]"
}
}
}
Output dari contoh sebelumnya dengan nilai default adalah:
Nama | Jenis | Nilai |
---|---|---|
objectOutput | Objek | {"one": "a", "two": "b", "three": "c2", "four": "d", "five": "e"} |
arrayOutput | Array | ["one", "two", "three", "four"] |
Contoh berikut menunjukkan kemampuan penggabungan mendalam:
{
"$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'))]"
}
}
}
Output dari contoh sebelumnya adalah:
Nama | Jenis | Nilai |
---|---|---|
objectOutput | Objek | {"property":{"one":"a","two":"b","three":"c2","four":"d","five":"e"},"nestedArray":[3,4]} |
arrayOutput | Array | [["one","two"],["three"],["four","two"]] |
Jika array berlapis digabungkan, maka nilai objectOutput.nestedArray adalah [1, 2, 3, 4], dan nilai arrayOutput adalah [["one", "two", "three"], ["three", "four", "two"]]] .
Langkah berikutnya
- Untuk deskripsi bagian-bagian dalam templat ARM, lihat Memahami struktur dan sintaksis templat ARM.