Funkcje tablicy dla szablonów usługi ARM
W tym artykule opisano funkcje szablonu do pracy z tablicami.
Aby uzyskać tablicę wartości ciągów rozdzielonych przez wartość, zobacz podział.
Napiwek
Zalecamy Bicep , ponieważ oferuje te same możliwości co szablony usługi ARM, a składnia jest łatwiejsza w użyciu. Aby dowiedzieć się więcej, zobacz funkcje tablicy .
tablica
array(convertToArray)
Konwertuje wartość na tablicę.
W Bicep użyj funkcji tablicy .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
convertToArray | Tak | int, string, array lub object | Wartość, która ma być konwertowana na tablicę. |
Wartość zwracana
Tablicy.
Przykład
W poniższym przykładzie pokazano, jak używać funkcji tablicy z różnymi typami.
{
"$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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
intOutput | Tablica | [1] |
stringOutput | Tablica | ["efgh"] |
objectOutput | Tablica | [{"a": "b", "c": "d"}] |
concat
concat(arg1, arg2, arg3, ...)
Łączy wiele tablic i zwraca połączoną tablicę lub łączy wiele wartości ciągów i zwraca połączony ciąg.
W Bicep użyj funkcji concat .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
arg1 | Tak | tablica lub ciąg | Pierwsza tablica lub ciąg do łączenia. |
więcej argumentów | Nie. | tablica lub ciąg | Więcej tablic lub ciągów w kolejności sekwencyjnej na potrzeby łączenia. |
Ta funkcja może przyjmować dowolną liczbę argumentów i może akceptować ciągi lub tablice dla parametrów. Nie można jednak podać zarówno tablic, jak i ciągów dla parametrów. Tablice są łączone tylko z innymi tablicami.
Wartość zwracana
Ciąg lub tablica połączonych wartości.
Przykład
W poniższym przykładzie pokazano, jak połączyć dwie tablice.
{
"$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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
return | Tablica | ["1-1", "1-2", "1-3", "2-1", "2-2", "2-3"] |
W poniższym przykładzie pokazano, jak połączyć dwie wartości ciągu i zwrócić połączony ciąg.
{
"$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))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
concatOutput | String | prefiks-5yj4yjf5mbg72 |
zawiera
contains(container, itemToFind)
Sprawdza, czy tablica zawiera wartość, obiekt zawiera klucz, czy ciąg zawiera podciąg. Porównanie ciągów uwzględnia wielkość liter. Jednak podczas testowania, czy obiekt zawiera klucz, porównanie jest bez uwzględniania wielkości liter.
W pliku Bicep użyj funkcji contains .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
kontener | Tak | tablica, obiekt lub ciąg | Wartość zawierająca wartość do znalezienia. |
itemToFind | Tak | ciąg lub int | Wartość do znalezienia. |
Wartość zwracana
Wartość True , jeśli element zostanie znaleziony; w przeciwnym razie wartość False.
Przykład
W poniższym przykładzie pokazano, jak używać elementów z różnymi typami:
{
"$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')]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
stringTrue | Bool | Prawda |
stringFalse | Bool | Fałsz |
objectTrue | Bool | Prawda |
objectFalse | Bool | Fałsz |
arrayTrue | Bool | Prawda |
arrayFalse | Bool | Fałsz |
createArray
createArray(arg1, arg2, arg3, ...)
Tworzy tablicę na podstawie parametrów.
W Bicep createArray
funkcja nie jest obsługiwana. Aby utworzyć tablicę, zobacz typ danych tablicy Bicep.
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
args | Nie. | Ciąg, liczba całkowita, tablica lub obiekt | Wartości w tablicy. |
Wartość zwracana
Tablicy. Jeśli nie podano żadnych parametrów, zwraca pustą tablicę.
Przykład
W poniższym przykładzie pokazano, jak używać metody createArray z różnymi typami:
{
"$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()]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
stringArray | Tablica | ["a", "b", "c"] |
intArray | Tablica | [1, 2, 3] |
objectArray | Tablica | [{"one": "a", "two": "b", "three": "c"}] |
arrayArray | Tablica | [["jeden", "dwa", "trzy"]] |
emptyArray | Tablica | [] |
empty
empty(itemToTest)
Określa, czy tablica, obiekt lub ciąg jest pusta.
W Bicep użyj funkcji empty .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
itemToTest | Tak | tablica, obiekt lub ciąg | Wartość do sprawdzenia, czy jest pusta. |
Wartość zwracana
Zwraca wartość True , jeśli wartość jest pusta; w przeciwnym razie wartość False.
Przykład
Poniższy przykład sprawdza, czy tablica, obiekt i ciąg są puste.
{
"$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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
arrayEmpty | Bool | Prawda |
objectEmpty | Bool | Prawda |
stringEmpty | Bool | Prawda |
pierwszy
first(arg1)
Zwraca pierwszy element tablicy lub pierwszy znak ciągu.
W Bicep użyj pierwszej funkcji.
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
arg1 | Tak | tablica lub ciąg | Wartość do pobrania pierwszego elementu lub znaku. |
Wartość zwracana
Typ (ciąg, int, tablica lub obiekt) pierwszego elementu w tablicy lub pierwszy znak ciągu.
Przykład
W poniższym przykładzie pokazano, jak używać pierwszej funkcji z tablicą i ciągiem.
{
"$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')]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
arrayOutput | String | jeden |
stringOutput | String | O |
Indexof
indexOf(arrayToSearch, itemToFind)
Zwraca liczbę całkowitą dla indeksu pierwszego wystąpienia elementu w tablicy. Porównanie uwzględnia wielkość liter dla ciągów.
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
arrayToSearch | Tak | tablica | Tablica do użycia do znajdowania indeksu przeszukanego elementu. |
itemToFind | Tak | int, string, array lub object | Element do znalezienia w tablicy. |
Wartość zwracana
Liczba całkowita reprezentująca pierwszy indeks elementu w tablicy. Jest to indeks zaczynający się od zera. Jeśli element nie zostanie znaleziony, zostanie zwrócony -1.
Przykłady
W poniższym przykładzie pokazano, jak używać funkcji indexOf i 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)]"
}
}
}
Dane wyjściowe z poprzedniego przykładu to:
Nazwisko | Typ | Wartość |
---|---|---|
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 |
Przecięcia
intersection(arg1, arg2, arg3, ...)
Zwraca pojedynczą tablicę lub obiekt ze wspólnymi elementami z parametrów.
W Bicep użyj funkcji skrzyżowania.
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
arg1 | Tak | tablica lub obiekt | Pierwsza wartość używana do znajdowania typowych elementów. |
arg2 | Tak | tablica lub obiekt | Druga wartość używana do znajdowania typowych elementów. |
więcej argumentów | Nie. | tablica lub obiekt | Więcej wartości do użycia do znajdowania typowych elementów. |
Wartość zwracana
Tablica lub obiekt ze wspólnymi elementami.
Przykład
W poniższym przykładzie pokazano, jak używać przecięcia z tablicami i obiektami.
{
"$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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
objectOutput | Objekt | {"one": "a", "trzy": "c"} |
arrayOutput | Tablica | ["dwa", "trzy"] |
ostatni
last(arg1)
Zwraca ostatni element tablicy lub ostatni znak ciągu.
W Bicep użyj ostatniej funkcji.
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
arg1 | Tak | tablica lub ciąg | Wartość do pobrania ostatniego elementu lub znaku. |
Wartość zwracana
Typ (ciąg, int, tablica lub obiekt) ostatniego elementu w tablicy lub ostatni znak ciągu.
Przykład
W poniższym przykładzie pokazano, jak używać ostatniej funkcji z tablicą i ciągiem.
{
"$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')]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
arrayOutput | String | trzy |
stringOutput | String | e |
Lastindexof
lastIndexOf(arrayToSearch, itemToFind)
Zwraca liczbę całkowitą dla indeksu ostatniego wystąpienia elementu w tablicy. Porównanie uwzględnia wielkość liter dla ciągów.
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
arrayToSearch | Tak | tablica | Tablica do użycia do znajdowania indeksu przeszukanego elementu. |
itemToFind | Tak | int, string, array lub object | Element do znalezienia w tablicy. |
Wartość zwracana
Liczba całkowita reprezentująca ostatni indeks elementu w tablicy. Jest to indeks zaczynający się od zera. Jeśli element nie zostanie znaleziony, zostanie zwrócony -1.
Przykłady
W poniższym przykładzie pokazano, jak używać funkcji indexOf i 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)]"
}
}
}
Dane wyjściowe z poprzedniego przykładu to:
Nazwisko | Typ | Wartość |
---|---|---|
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)
Zwraca liczbę elementów w tablicy, znaki w ciągu lub właściwości na poziomie głównym w obiekcie.
W Bicep użyj funkcji length .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
arg1 | Tak | tablica, ciąg lub obiekt | Tablica do użycia do pobierania liczby elementów, ciągu do użycia do pobierania liczby znaków lub obiektu do pobrania liczby właściwości na poziomie głównym. |
Wartość zwracana
Int.
Przykład
W poniższym przykładzie pokazano, jak używać długości z tablicą i ciągiem.
{
"$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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
arrayLength | Int | 3 |
stringLength | Int | 13 |
objectLength | Int | 100 |
Tej funkcji można użyć z tablicą, aby określić liczbę iteracji podczas tworzenia zasobów. W poniższym przykładzie parametr siteNames odwołuje się do tablicy nazw do użycia podczas tworzenia witryn sieci Web.
"copy": {
"name": "websitescopy",
"count": "[length(parameters('siteNames'))]"
}
Aby uzyskać więcej informacji na temat używania tej funkcji z tablicą, zobacz Iteracja zasobów w szablonach usługi ARM.
max
max(arg1)
Zwraca wartość maksymalną z tablicy liczb całkowitych lub rozdzielanej przecinkami listy liczb całkowitych.
W Bicep użyj funkcji max .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
arg1 | Tak | tablica liczb całkowitych lub rozdzielona przecinkami lista liczb całkowitych | Kolekcja, aby uzyskać maksymalną wartość. |
Wartość zwracana
Liczba całkowita reprezentująca wartość maksymalną.
Przykład
W poniższym przykładzie pokazano, jak używać wartości maksymalnej z tablicą i listą liczb całkowitych.
{
"$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)]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
arrayOutput | Int | 5 |
intOutput | Int | 5 |
min
min(arg1)
Zwraca minimalną wartość z tablicy liczb całkowitych lub rozdzielanej przecinkami listy liczb całkowitych.
W Bicep użyj funkcji min .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
arg1 | Tak | tablica liczb całkowitych lub rozdzielona przecinkami lista liczb całkowitych | Kolekcja, aby uzyskać minimalną wartość. |
Wartość zwracana
Liczba int reprezentująca minimalną wartość.
Przykład
W poniższym przykładzie pokazano, jak używać min z tablicą i listą liczb całkowitych.
{
"$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)]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
arrayOutput | Int | 0 |
intOutput | Int | 0 |
range
range(startIndex, count)
Tworzy tablicę liczb całkowitych na podstawie początkowej liczby całkowitej i zawiera liczbę elementów.
W Bicep użyj funkcji range .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
Startindex | Tak | int | Pierwsza liczba całkowita w tablicy. Suma wartości startIndex i count nie może być większa niż 2147483647. |
count | Tak | int | Liczba liczb całkowitych w tablicy. Musi być nieujemna liczba całkowita do 10000. |
Wartość zwracana
Tablica liczb całkowitych.
Przykład
W poniższym przykładzie pokazano, jak używać funkcji zakresu.
{
"$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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
rangeOutput | Tablica | [5, 6, 7] |
skip
skip(originalValue, numberToSkip)
Zwraca tablicę ze wszystkimi elementami po określonej liczbie w tablicy lub zwraca ciąg ze wszystkimi znakami po określonej liczbie w ciągu.
W Bicep użyj funkcji skip .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
originalValue | Tak | tablica lub ciąg | Tablica lub ciąg do użycia do pomijania. |
numberToSkip | Tak | int | Liczba elementów lub znaków do pominięcia. Jeśli ta wartość jest 0 lub mniejsza, zwracane są wszystkie elementy lub znaki w wartości. Jeśli jest on większy niż długość tablicy lub ciągu, zwracana jest pusta tablica lub ciąg. |
Wartość zwracana
Tablica lub ciąg.
Przykład
Poniższy przykład pomija określoną liczbę elementów w tablicy i określoną liczbę znaków w ciągu.
{
"$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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
arrayOutput | Tablica | ["trzy"] |
stringOutput | String | dwa trzy |
take
take(originalValue, numberToTake)
Zwraca tablicę lub ciąg. Tablica ma określoną liczbę elementów od początku tablicy. Ciąg ma określoną liczbę znaków od początku ciągu.
W Bicep użyj funkcji take .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
originalValue | Tak | tablica lub ciąg | Tablica lub ciąg, z których mają być zabierane elementy. |
numberToTake | Tak | int | Liczba elementów lub znaków do podjęcia. Jeśli ta wartość jest 0 lub mniejsza, zwracana jest pusta tablica lub ciąg. Jeśli jest on większy niż długość danej tablicy lub ciągu, zwracane są wszystkie elementy tablicy lub ciągu. |
Wartość zwracana
Tablica lub ciąg.
Przykład
W poniższym przykładzie określona liczba elementów z tablicy i znaki z ciągu.
{
"$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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
arrayOutput | Tablica | ["jeden", "dwa"] |
stringOutput | String | on |
unia
union(arg1, arg2, arg3, ...)
Zwraca pojedynczą tablicę lub obiekt ze wszystkimi elementami z parametrów. W przypadku tablic są uwzględniane zduplikowane wartości raz. W przypadku obiektów zduplikowane nazwy właściwości są uwzględniane tylko raz.
W Bicep użyj funkcji union .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
arg1 | Tak | tablica lub obiekt | Pierwsza wartość, która ma być używana do łączenia elementów. |
arg2 | Tak | tablica lub obiekt | Druga wartość, która ma być używana do łączenia elementów. |
więcej argumentów | Nie. | tablica lub obiekt | Więcej wartości do użycia do łączenia elementów. |
Wartość zwracana
Tablica lub obiekt.
Uwagi
Funkcja union używa sekwencji parametrów do określenia kolejności i wartości wyniku.
W przypadku tablic funkcja iteruje każdy element w pierwszym parametrze i dodaje go do wyniku, jeśli nie jest jeszcze obecny. Następnie powtarza proces dla drugiego parametru i kolejnych parametrów. Jeśli wartość jest już obecna, jej wcześniejsze umieszczenie w tablicy jest zachowywane.
W przypadku obiektów nazwy właściwości i wartości z pierwszego parametru są dodawane do wyniku. W przypadku późniejszych parametrów wszystkie nowe nazwy są dodawane do wyniku. Jeśli późniejszy parametr ma właściwość o tej samej nazwie, ta wartość zastępuje istniejącą wartość. Kolejność właściwości nie jest gwarantowana.
Funkcja union scala nie tylko elementy najwyższego poziomu, ale także rekursywnie scala wszystkie zagnieżdżone obiekty w nich. Zagnieżdżone wartości tablicy nie są scalane. Zobacz drugi przykład w poniższej sekcji.
Przykład
W poniższym przykładzie pokazano, jak używać unii z tablicami i obiektami.
{
"$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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
objectOutput | Objekt | {"one": "a", "two": "b", "three": "c2", "four": "d", "five": "e"} |
arrayOutput | Tablica | ["one", "two", "three", "four"] |
W poniższym przykładzie przedstawiono możliwość głębokiego scalania:
{
"$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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu to:
Nazwisko | Typ | Wartość |
---|---|---|
objectOutput | Objekt | {"property":{"one":"a","two":"b","three":"c2","four":"d","five":"e"},"nestedArray":[3,4]} |
arrayOutput | Tablica | [["one","two"],["three"],["four","two"]] |
Jeśli zagnieżdżone tablice zostały scalone, wartość objectOutput.nestedArray będzie wynosić [1, 2, 3, 4], a wartość arrayOutput będzie wynosić [["jeden", "dwa", "trzy"], ["trzy", "cztery", "dwa"]].
Następne kroki
- Aby zapoznać się z opisem sekcji w szablonie usługi ARM, zobacz Omówienie struktury i składni szablonów usługi ARM.