Matrisfunktioner för ARM-mallar
Den här artikeln beskriver mallfunktionerna för att arbeta med matriser.
Information om hur du hämtar en matris med strängvärden avgränsade med ett värde finns i dela.
Dricks
Vi rekommenderar Bicep eftersom det erbjuder samma funktioner som ARM-mallar och syntaxen är enklare att använda. Mer information finns i matrisfunktioner .
matris
array(convertToArray)
Konverterar värdet till en matris.
I Bicep använder du matrisfunktionen .
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
convertToArray | Ja | int, string, array eller object | Värdet som ska konverteras till en matris. |
Returvärde
En matris.
Exempel
I följande exempel visas hur du använder matrisfunktionen med olika typer.
{
"$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'))]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
intOutput | Matris | [1] |
stringOutput | Matris | ["efgh"] |
objectOutput | Matris | [{"a": "b", "c": "d"}] |
concat
concat(arg1, arg2, arg3, ...)
Kombinerar flera matriser och returnerar den sammanfogade matrisen, eller kombinerar flera strängvärden och returnerar den sammanfogade strängen.
I Bicep använder du funktionen concat .
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
arg1 | Ja | matris eller sträng | Den första matrisen eller strängen för sammanfogning. |
fler argument | Nej | matris eller sträng | Fler matriser eller strängar i sekventiell ordning för sammanfogning. |
Den här funktionen kan ta valfritt antal argument och kan acceptera antingen strängar eller matriser för parametrarna. Du kan dock inte ange både matriser och strängar för parametrar. Matriser sammanfogas bara med andra matriser.
Returvärde
En sträng eller matris med sammanfogade värden.
Exempel
I följande exempel visas hur du kombinerar två matriser.
{
"$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'))]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
retur | Matris | ["1-1", "1-2", "1-3", "2-1", "2-2", "2-3"] |
I följande exempel visas hur du kombinerar två strängvärden och returnerar en sammanfogad sträng.
{
"$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))]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
concatOutput | String | prefix-5yj4yjf5mbg72 |
innehåller
contains(container, itemToFind)
Kontrollerar om en matris innehåller ett värde, ett objekt innehåller en nyckel eller om en sträng innehåller en delsträng. Strängjämförelsen är skiftlägeskänslig. Men när du testar om ett objekt innehåller en nyckel är jämförelsen skiftlägeskänslig.
I Bicep använder du funktionen contains .
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
container | Ja | matris, objekt eller sträng | Värdet som innehåller det värde som ska hittas. |
itemToFind | Ja | sträng eller int | Värdet som ska hittas. |
Returvärde
Sant om objektet hittas, annars Falskt.
Exempel
I följande exempel visas hur du använder containrar med olika typer:
{
"$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')]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
stringTrue | Bool | Sant |
stringFalse | Bool | Falsk |
objectTrue | Bool | Sant |
objectFalse | Bool | Falsk |
arrayTrue | Bool | Sant |
arrayFalse | Bool | Falsk |
createArray
createArray(arg1, arg2, arg3, ...)
Skapar en matris från parametrarna.
I Bicep createArray
stöds inte funktionen. Information om hur du skapar en matris finns i datatypen Bicep-matris.
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
args | Nej | Sträng, heltal, matris eller objekt | Värdena i matrisen. |
Returvärde
En matris. När inga parametrar anges returneras en tom matris.
Exempel
I följande exempel visas hur du använder createArray med olika typer:
{
"$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()]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
stringArray | Matris | ["a", "b", "c"] |
intArray | Matris | [1, 2, 3] |
objectArray | Matris | [{"one": "a", "two": "b", "three": "c"}] |
arrayArray | Matris | [["one", "two", "three"]] |
emptyArray | Matris | [] |
empty
empty(itemToTest)
Avgör om en matris, ett objekt eller en sträng är tom.
Använd den tomma funktionen i Bicep.
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
itemToTest | Ja | matris, objekt eller sträng | Värdet för att kontrollera om det är tomt. |
Returvärde
Returnerar Sant om värdet är tomt, annars Falskt.
Exempel
I följande exempel kontrolleras om en matris, ett objekt och en sträng är tomma.
{
"$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'))]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
arrayEmpty | Bool | Sant |
objectEmpty | Bool | Sant |
stringEmpty | Bool | Sant |
Första
first(arg1)
Returnerar det första elementet i matrisen eller det första tecknet i strängen.
Använd den första funktionen i Bicep.
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
arg1 | Ja | matris eller sträng | Värdet för att hämta det första elementet eller tecknet. |
Returvärde
Typen (sträng, int, matris eller objekt) för det första elementet i en matris eller det första tecknet i en sträng.
Exempel
I följande exempel visas hur du använder den första funktionen med en matris och sträng.
{
"$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')]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
arrayOutput | String | en |
stringOutput | String | O |
indexOf
indexOf(arrayToSearch, itemToFind)
Returnerar ett heltal för indexet för den första förekomsten av ett objekt i en matris. Jämförelsen är skiftlägeskänslig för strängar.
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
arrayToSearch | Ja | matris | Matrisen som ska användas för att hitta indexet för det sökta objektet. |
itemToFind | Ja | int, string, array eller object | Objektet som ska hittas i matrisen. |
Returvärde
Ett heltal som representerar det första indexet för objektet i matrisen. Indexet är nollbaserat. Om objektet inte hittas returneras -1.
Exempel
I följande exempel visas hur du använder funktionerna indexOf och 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)]"
}
}
}
Utdata från föregående exempel är:
Namn | Typ | Värde |
---|---|---|
index1 | heltal | 1 |
index2 | heltal | 0 |
index3 | heltal | 0 |
index4 | heltal | 2 |
index5 | heltal | 1 |
index6 | heltal | 0 |
index7 | heltal | 3 |
notFoundIndex1 | heltal | -1 |
notFoundIndex2 | heltal | -1 |
Korsningen
intersection(arg1, arg2, arg3, ...)
Returnerar en enskild matris eller ett objekt med de gemensamma elementen från parametrarna.
Använd skärningsfunktionen i Bicep.
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
arg1 | Ja | matris eller objekt | Det första värdet som ska användas för att hitta vanliga element. |
arg2 | Ja | matris eller objekt | Det andra värdet som ska användas för att hitta vanliga element. |
fler argument | Nej | matris eller objekt | Fler värden att använda för att hitta vanliga element. |
Returvärde
En matris eller ett objekt med de gemensamma elementen.
Exempel
I följande exempel visas hur du använder skärningspunkt med matriser och objekt.
{
"$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'))]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
objectOutput | Objekt | {"one": "a", "three": "c"} |
arrayOutput | Matris | ["två", "tre"] |
senaste
last(arg1)
Returnerar det sista elementet i matrisen eller det sista tecknet i strängen.
Använd den sista funktionen i Bicep.
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
arg1 | Ja | matris eller sträng | Värdet för att hämta det sista elementet eller tecknet. |
Returvärde
Typen (sträng, int, matris eller objekt) för det sista elementet i en matris eller det sista tecknet i en sträng.
Exempel
I följande exempel visas hur du använder den sista funktionen med en matris och sträng.
{
"$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')]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
arrayOutput | String | tre |
stringOutput | String | e |
lastIndexOf
lastIndexOf(arrayToSearch, itemToFind)
Returnerar ett heltal för indexet för den senaste förekomsten av ett objekt i en matris. Jämförelsen är skiftlägeskänslig för strängar.
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
arrayToSearch | Ja | matris | Matrisen som ska användas för att hitta indexet för det sökta objektet. |
itemToFind | Ja | int, string, array eller object | Objektet som ska hittas i matrisen. |
Returvärde
Ett heltal som representerar det sista indexet för objektet i matrisen. Indexet är nollbaserat. Om objektet inte hittas returneras -1.
Exempel
I följande exempel visas hur du använder funktionerna indexOf och 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)]"
}
}
}
Utdata från föregående exempel är:
Namn | Typ | Värde |
---|---|---|
index1 | heltal | 1 |
index2 | heltal | 0 |
index3 | heltal | 0 |
index4 | heltal | 2 |
index5 | heltal | 1 |
index6 | heltal | 0 |
index7 | heltal | 3 |
notFoundIndex1 | heltal | -1 |
notFoundIndex2 | heltal | -1 |
längd
length(arg1)
Returnerar antalet element i en matris, tecken i en sträng eller rotnivåegenskaper i ett objekt.
Använd längdfunktionen i Bicep.
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
arg1 | Ja | matris, sträng eller objekt | Matrisen som ska användas för att hämta antalet element, strängen som ska användas för att hämta antalet tecken eller det objekt som ska användas för att hämta antalet egenskaper på rotnivå. |
Returvärde
Ett int.
Exempel
I följande exempel visas hur du använder längd med en matris och sträng.
{
"$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'))]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
arrayLength | Int | 3 |
stringLength | Int | 13 |
objectLength | Int | 4 |
Du kan använda den här funktionen med en matris för att ange antalet iterationer när du skapar resurser. I följande exempel refererar parametern siteNames till en matris med namn som ska användas när webbplatserna skapas.
"copy": {
"name": "websitescopy",
"count": "[length(parameters('siteNames'))]"
}
Mer information om hur du använder den här funktionen med en matris finns i Resurs iteration i ARM-mallar.
max
max(arg1)
Returnerar det maximala värdet från en matris med heltal eller en kommaavgränsad lista med heltal.
Använd maxfunktionen i Bicep.
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
arg1 | Ja | matris med heltal eller kommaavgränsad lista över heltal | Samlingen för att hämta det maximala värdet. |
Returvärde
En int som representerar det maximala värdet.
Exempel
I följande exempel visas hur du använder max med en matris och en lista över heltal.
{
"$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)]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
arrayOutput | Int | 5 |
intOutput | Int | 5 |
min
min(arg1)
Returnerar det minsta värdet från en matris med heltal eller en kommaavgränsad lista med heltal.
I Bicep använder du funktionen min .
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
arg1 | Ja | matris med heltal eller kommaavgränsad lista över heltal | Samlingen för att hämta minimivärdet. |
Returvärde
En int som representerar minimivärdet.
Exempel
I följande exempel visas hur du använder min med en matris och en lista med heltal.
{
"$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)]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
arrayOutput | Int | 0 |
intOutput | Int | 0 |
intervall
range(startIndex, count)
Skapar en matris med heltal från ett start heltal och innehåller ett antal objekt.
Använd intervallfunktionen i Bicep.
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
startIndex | Ja | heltal | Det första heltalet i matrisen. Summan av startIndex och antal får inte vara större än 2147483647. |
antal | Ja | heltal | Antalet heltal i matrisen. Måste vara ett heltal som inte är negativt upp till 10000. |
Returvärde
En matris med heltal.
Exempel
I följande exempel visas hur du använder intervallfunktionen.
{
"$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'))]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
rangeOutput | Matris | [5, 6, 7] |
hoppa över
skip(originalValue, numberToSkip)
Returnerar en matris med alla element efter det angivna talet i matrisen eller returnerar en sträng med alla tecken efter det angivna talet i strängen.
I Bicep använder du funktionen hoppa över .
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
originalValue | Ja | matris eller sträng | Matrisen eller strängen som ska användas för att hoppa över. |
numberToSkip | Ja | heltal | Antalet element eller tecken som ska hoppa över. Om det här värdet är 0 eller mindre returneras alla element eller tecken i värdet. Om den är större än längden på matrisen eller strängen returneras en tom matris eller sträng. |
Returvärde
En matris eller sträng.
Exempel
I följande exempel hoppar över det angivna antalet element i matrisen och det angivna antalet tecken i en sträng.
{
"$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'))]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
arrayOutput | Matris | ["tre"] |
stringOutput | String | två tre |
ta
take(originalValue, numberToTake)
Returnerar en matris eller sträng. En matris har det angivna antalet element från början av matrisen. En sträng har det angivna antalet tecken från början av strängen.
I Bicep använder du funktionen take .
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
originalValue | Ja | matris eller sträng | Matrisen eller strängen som elementen ska hämtas från. |
numberToTake | Ja | heltal | Antalet element eller tecken att ta. Om det här värdet är 0 eller mindre returneras en tom matris eller sträng. Om den är större än längden på den angivna matrisen eller strängen returneras alla element i matrisen eller strängen. |
Returvärde
En matris eller sträng.
Exempel
I följande exempel används det angivna antalet element från matrisen och tecken från en sträng.
{
"$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'))]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
arrayOutput | Matris | ["en", "två"] |
stringOutput | String | on |
union
union(arg1, arg2, arg3, ...)
Returnerar en enskild matris eller ett objekt med alla element från parametrarna. För matriser inkluderas duplicerade värden en gång. För objekt inkluderas duplicerade egenskapsnamn bara en gång.
I Bicep använder du unionsfunktionen .
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
arg1 | Ja | matris eller objekt | Det första värdet som ska användas för att koppla element. |
arg2 | Ja | matris eller objekt | Det andra värdet som ska användas för att koppla element. |
fler argument | Nej | matris eller objekt | Fler värden att använda för att koppla element. |
Returvärde
En matris eller ett objekt.
Kommentarer
Union-funktionen använder sekvensen för parametrarna för att fastställa resultatets ordning och värden.
För matriser itererar funktionen genom varje element i den första parametern och lägger till den i resultatet om den inte redan finns. Sedan upprepas processen för den andra parametern och eventuella fler parametrar. Om ett värde redan finns bevaras dess tidigare placering i matrisen.
För objekt läggs egenskapsnamn och värden från den första parametern till i resultatet. För senare parametrar läggs alla nya namn till i resultatet. Om en senare parameter har en egenskap med samma namn skriver det värdet över det befintliga värdet. Ordningen på egenskaperna är inte garanterad.
Union-funktionen sammanfogar inte bara de översta elementen utan sammanfogar också rekursivt alla kapslade objekt i dem. Kapslade matrisvärden sammanfogas inte. Se det andra exemplet i följande avsnitt.
Exempel
I följande exempel visas hur du använder union med matriser och objekt.
{
"$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'))]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
objectOutput | Objekt | {"one": "a", "two": "b", "three": "c2", "four": "d", "five": "e"} |
arrayOutput | Matris | ["en", "två", "tre", "fyra"] |
I följande exempel visas funktionen för djupsammanslagning:
{
"$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'))]"
}
}
}
Utdata från föregående exempel är:
Namn | Typ | Värde |
---|---|---|
objectOutput | Objekt | {"property":{"one":"a","two":"b","three":"c2","four":"d","five":"e"},"nestedArray":[3,4]} |
arrayOutput | Matris | [["one","two"],["three"],["four","two"]] |
Om kapslade matriser sammanfogades skulle värdet för objectOutput.nestedArray vara [1, 2, 3, 4], och värdet för arrayOutput skulle vara [["one", "two", "three"], ["three", "four", "two"]].
Nästa steg
- En beskrivning av avsnitten i en ARM-mall finns i Förstå strukturen och syntaxen för ARM-mallar.