Matrixfuncties voor ARM-sjablonen
In dit artikel worden de sjabloonfuncties beschreven voor het werken met matrices.
Als u een matrix met tekenreekswaarden wilt ophalen die zijn gescheiden door een waarde, raadpleegt u split.
Tip
We raden Bicep aan omdat het dezelfde mogelijkheden biedt als ARM-sjablonen en de syntaxis gemakkelijker te gebruiken is. Zie matrixfuncties voor meer informatie.
matrix
array(convertToArray)
Converteert de waarde naar een matrix.
Gebruik in Bicep de matrixfunctie .
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
convertToArray | Ja | int, tekenreeks, matrix of object | De waarde die moet worden geconverteerd naar een matrix. |
Retourwaarde
Een matrix.
Opmerking
In het volgende voorbeeld ziet u hoe u de matrixfunctie gebruikt met verschillende typen.
{
"$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'))]"
}
}
}
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
intOutput | Matrix | [1] |
stringOutput | Matrix | ["efgh"] |
objectOutput | Matrix | [{"a": "b", "c": "d"}] |
concat
concat(arg1, arg2, arg3, ...)
Combineert meerdere matrices en retourneert de samengevoegde matrix, of combineert meerdere tekenreekswaarden en retourneert de samengevoegde tekenreeks.
Gebruik in Bicep de samenvoegfunctie .
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
arg1 | Ja | matrix of tekenreeks | De eerste matrix of tekenreeks voor samenvoeging. |
meer argumenten | Nee | matrix of tekenreeks | Meer matrices of tekenreeksen in opeenvolgende volgorde voor samenvoeging. |
Deze functie kan een willekeurig aantal argumenten aannemen en kan tekenreeksen of matrices voor de parameters accepteren. U kunt echter niet zowel matrices als tekenreeksen opgeven voor parameters. Matrices worden alleen samengevoegd met andere matrices.
Retourwaarde
Een tekenreeks of matrix met samengevoegde waarden.
Opmerking
In het volgende voorbeeld ziet u hoe u twee matrices combineert.
{
"$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'))]"
}
}
}
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
enter | Matrix | ["1-1", "1-2", "1-3", "2-1", "2-2", "2-3"] |
In het volgende voorbeeld ziet u hoe u twee tekenreekswaarden combineert en een samengevoegde tekenreeks retourneert.
{
"$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))]"
}
}
}
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
concatOutput | String | prefix-5yj4yjf5mbg72 |
bevat
contains(container, itemToFind)
Hiermee wordt gecontroleerd of een matrix een waarde bevat, een object een sleutel bevat of een tekenreeks een subtekenreeks bevat. De tekenreeksvergelijking is hoofdlettergevoelig. Wanneer u echter test of een object een sleutel bevat, is de vergelijking niet hoofdlettergevoelig.
Gebruik in Bicep de functie contains .
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
container | Ja | matrix, object of tekenreeks | De waarde die de te zoeken waarde bevat. |
itemToFind | Ja | tekenreeks of int | De te vinden waarde. |
Retourwaarde
Waar als het item wordt gevonden; anders onwaar.
Opmerking
In het volgende voorbeeld ziet u hoe u deze kunt gebruiken met verschillende typen:
{
"$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')]"
}
}
}
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
stringTrue | Bool | Waar |
stringFalse | Bool | Onwaar |
objectTrue | Bool | Waar |
objectFalse | Bool | Onwaar |
arrayTrue | Bool | Waar |
arrayFalse | Bool | Onwaar |
createArray
createArray(arg1, arg2, arg3, ...)
Hiermee maakt u een matrix op basis van de parameters.
In Bicep wordt de createArray
functie niet ondersteund. Als u een matrix wilt maken, raadpleegt u het gegevenstype Bicep-matrix.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
argumenten | Nee | Tekenreeks, geheel getal, matrix of object | De waarden in de matrix. |
Retourwaarde
Een matrix. Wanneer er geen parameters worden opgegeven, wordt er een lege matrix geretourneerd.
Opmerking
In het volgende voorbeeld ziet u hoe u createArray gebruikt met verschillende typen:
{
"$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()]"
}
}
}
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
tekenreeksarray | Matrix | ["a", "b", "c"] |
intArray | Matrix | [1, 2, 3] |
objectArray | Matrix | [{"one": "a", "two": "b", "three": "c"}] |
matrixmatrix | Matrix | [["één", "twee", "drie"]] |
legearray | Matrix | [] |
empty
empty(itemToTest)
Bepaalt of een matrix, object of tekenreeks leeg is.
Gebruik in Bicep de lege functie.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
itemToTest | Ja | matrix, object of tekenreeks | De waarde om te controleren of deze leeg is. |
Retourwaarde
Retourneert Waar als de waarde leeg is; anders Onwaar.
Opmerking
In het volgende voorbeeld wordt gecontroleerd of een matrix, object en tekenreeks leeg zijn.
{
"$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'))]"
}
}
}
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
arrayEmpty | Bool | Waar |
objectEmpty | Bool | Waar |
stringEmpty | Bool | Waar |
Eerste
first(arg1)
Retourneert het eerste element van de matrix of het eerste teken van de tekenreeks.
Gebruik in Bicep de eerste functie.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
arg1 | Ja | matrix of tekenreeks | De waarde voor het ophalen van het eerste element of teken. |
Retourwaarde
Het type (tekenreeks, int, matrix of object) van het eerste element in een matrix of het eerste teken van een tekenreeks.
Opmerking
In het volgende voorbeeld ziet u hoe u de eerste functie gebruikt met een matrix en tekenreeks.
{
"$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')]"
}
}
}
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
arrayOutput | String | één |
stringOutput | String | O |
indexOf
indexOf(arrayToSearch, itemToFind)
Retourneert een geheel getal voor de index van het eerste exemplaar van een item in een matrix. De vergelijking is hoofdlettergevoelig voor tekenreeksen.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
arrayToSearch | Ja | matrix | De matrix die moet worden gebruikt om de index van het gezochte item te zoeken. |
itemToFind | Ja | int, tekenreeks, matrix of object | Het item dat u in de matrix wilt zoeken. |
Retourwaarde
Een geheel getal dat de eerste index van het item in de matrix aangeeft. De index is gebaseerd op nul. Als het item niet wordt gevonden, wordt -1 geretourneerd.
Voorbeelden
In het volgende voorbeeld ziet u hoe u de functies indexOf en lastIndexOf gebruikt:
{
"$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)]"
}
}
}
De uitvoer uit het voorgaande voorbeeld is:
Name | Type | Weergegeven als |
---|---|---|
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 |
Snijpunt
intersection(arg1, arg2, arg3, ...)
Retourneert één matrix of object met de algemene elementen van de parameters.
Gebruik in Bicep de snijpuntfunctie .
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
arg1 | Ja | matrix of object | De eerste waarde die moet worden gebruikt voor het vinden van algemene elementen. |
arg2 | Ja | matrix of object | De tweede waarde die moet worden gebruikt voor het vinden van algemene elementen. |
meer argumenten | Nee | matrix of object | Meer waarden die moeten worden gebruikt voor het vinden van algemene elementen. |
Retourwaarde
Een matrix of object met de gemeenschappelijke elementen.
Opmerking
In het volgende voorbeeld ziet u hoe u snijpunt gebruikt met matrices en objecten.
{
"$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'))]"
}
}
}
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
objectOutput | Object | {"one": "a", "three": "c"} |
arrayOutput | Matrix | ["twee", "drie"] |
Laatste
last(arg1)
Retourneert het laatste element van de matrix of het laatste teken van de tekenreeks.
Gebruik in Bicep de laatste functie.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
arg1 | Ja | matrix of tekenreeks | De waarde voor het ophalen van het laatste element of teken. |
Retourwaarde
Het type (tekenreeks, int, matrix of object) van het laatste element in een matrix of het laatste teken van een tekenreeks.
Opmerking
In het volgende voorbeeld ziet u hoe u de laatste functie gebruikt met een matrix en tekenreeks.
{
"$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')]"
}
}
}
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
arrayOutput | String | drie |
stringOutput | String | e |
lastIndexOf
lastIndexOf(arrayToSearch, itemToFind)
Retourneert een geheel getal voor de index van het laatste exemplaar van een item in een matrix. De vergelijking is hoofdlettergevoelig voor tekenreeksen.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
arrayToSearch | Ja | matrix | De matrix die moet worden gebruikt om de index van het gezochte item te zoeken. |
itemToFind | Ja | int, tekenreeks, matrix of object | Het item dat u in de matrix wilt zoeken. |
Retourwaarde
Een geheel getal dat de laatste index van het item in de matrix aangeeft. De index is gebaseerd op nul. Als het item niet wordt gevonden, wordt -1 geretourneerd.
Voorbeelden
In het volgende voorbeeld ziet u hoe u de functies indexOf en lastIndexOf gebruikt:
{
"$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)]"
}
}
}
De uitvoer uit het voorgaande voorbeeld is:
Name | Type | Weergegeven als |
---|---|---|
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)
Retourneert het aantal elementen in een matrix, tekens in een tekenreeks of eigenschappen op hoofdniveau in een object.
Gebruik in Bicep de lengtefunctie .
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
arg1 | Ja | matrix, tekenreeks of object | De matrix die moet worden gebruikt voor het ophalen van het aantal elementen, de tekenreeks die moet worden gebruikt voor het ophalen van het aantal tekens of het object dat moet worden gebruikt voor het ophalen van het aantal eigenschappen op hoofdniveau. |
Retourwaarde
Een int.
Opmerking
In het volgende voorbeeld ziet u hoe u lengte gebruikt met een matrix en tekenreeks.
{
"$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'))]"
}
}
}
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
arrayLength | Int | 3 |
stringLength | Int | 13 |
objectLength | Int | 4 |
U kunt deze functie gebruiken met een matrix om het aantal iteraties op te geven bij het maken van resources. In het volgende voorbeeld verwijzen de parametersiteNames naar een matrix met namen die moeten worden gebruikt bij het maken van de websites.
"copy": {
"name": "websitescopy",
"count": "[length(parameters('siteNames'))]"
}
Zie Resource-iteratie in ARM-sjablonen voor meer informatie over het gebruik van deze functie met een matrix.
max
max(arg1)
Retourneert de maximumwaarde van een matrix met gehele getallen of een door komma's gescheiden lijst met gehele getallen.
Gebruik in Bicep de maximale functie.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
arg1 | Ja | matrix van gehele getallen of door komma's gescheiden lijst met gehele getallen | De verzameling om de maximumwaarde op te halen. |
Retourwaarde
Een int die de maximumwaarde vertegenwoordigt.
Opmerking
In het volgende voorbeeld ziet u hoe u max gebruikt met een matrix en een lijst met gehele getallen.
{
"$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)]"
}
}
}
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
arrayOutput | Int | 5 |
intOutput | Int | 5 |
min.
min(arg1)
Retourneert de minimumwaarde van een matrix met gehele getallen of een door komma's gescheiden lijst met gehele getallen.
Gebruik in Bicep de min-functie .
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
arg1 | Ja | matrix van gehele getallen of door komma's gescheiden lijst met gehele getallen | De verzameling om de minimumwaarde op te halen. |
Retourwaarde
Een int die de minimumwaarde vertegenwoordigt.
Opmerking
In het volgende voorbeeld ziet u hoe u min gebruikt met een matrix en een lijst met gehele getallen.
{
"$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)]"
}
}
}
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
arrayOutput | Int | 0 |
intOutput | Int | 0 |
range
range(startIndex, count)
Hiermee maakt u een matrix van gehele getallen op basis van een begin-geheel getal en met een aantal items.
Gebruik in Bicep de bereikfunctie .
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
startIndex | Ja | int | Het eerste gehele getal in de matrix. De som van startIndex en het aantal mag niet groter zijn dan 2147483647. |
aantal | Ja | int | Het aantal gehele getallen in de matrix. Moet een niet-negatief geheel getal tot 10000 zijn. |
Retourwaarde
Een matrix met gehele getallen.
Opmerking
In het volgende voorbeeld ziet u hoe u de bereikfunctie gebruikt.
{
"$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'))]"
}
}
}
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
rangeOutput | Matrix | [5, 6, 7] |
skip
skip(originalValue, numberToSkip)
Retourneert een matrix met alle elementen na het opgegeven getal in de matrix of retourneert een tekenreeks met alle tekens na het opgegeven getal in de tekenreeks.
Gebruik in Bicep de functie skip .
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
Originalvalue | Ja | matrix of tekenreeks | De matrix of tekenreeks die moet worden gebruikt voor het overslaan. |
numberToSkip | Ja | int | Het aantal elementen of tekens dat moet worden overgeslagen. Als deze waarde 0 of minder is, worden alle elementen of tekens in de waarde geretourneerd. Als deze groter is dan de lengte van de matrix of tekenreeks, wordt een lege matrix of tekenreeks geretourneerd. |
Retourwaarde
Een matrix of tekenreeks.
Opmerking
In het volgende voorbeeld wordt het opgegeven aantal elementen in de matrix en het opgegeven aantal tekens in een tekenreeks overgeslagen.
{
"$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'))]"
}
}
}
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
arrayOutput | Matrix | ["drie"] |
stringOutput | String | twee drie |
take
take(originalValue, numberToTake)
Hiermee wordt een matrix of tekenreeks geretourneerd. Een matrix heeft het opgegeven aantal elementen vanaf het begin van de matrix. Een tekenreeks heeft het opgegeven aantal tekens vanaf het begin van de tekenreeks.
Gebruik in Bicep de take-functie .
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
Originalvalue | Ja | matrix of tekenreeks | De matrix of tekenreeks waaruit de elementen moeten worden opgehaald. |
numberToTake | Ja | int | Het aantal elementen of tekens dat moet worden gebruikt. Als deze waarde 0 of minder is, wordt een lege matrix of tekenreeks geretourneerd. Als deze groter is dan de lengte van de opgegeven matrix of tekenreeks, worden alle elementen in de matrix of tekenreeks geretourneerd. |
Retourwaarde
Een matrix of tekenreeks.
Opmerking
In het volgende voorbeeld wordt het opgegeven aantal elementen uit de matrix en tekens uit een tekenreeks gebruikt.
{
"$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'))]"
}
}
}
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
arrayOutput | Matrix | ["één", "twee"] |
stringOutput | String | op |
union
union(arg1, arg2, arg3, ...)
Retourneert één matrix of object met alle elementen uit de parameters. Voor matrices worden dubbele waarden eenmaal opgenomen. Voor objecten worden dubbele eigenschapsnamen slechts eenmaal opgenomen.
Gebruik in Bicep de samenvoegfunctie .
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
arg1 | Ja | matrix of object | De eerste waarde die moet worden gebruikt voor het samenvoegen van elementen. |
arg2 | Ja | matrix of object | De tweede waarde die moet worden gebruikt voor het samenvoegen van elementen. |
meer argumenten | Nee | matrix of object | Meer waarden die moeten worden gebruikt voor het samenvoegen van elementen. |
Retourwaarde
Een matrix of object.
Opmerkingen
De samenvoegfunctie gebruikt de volgorde van de parameters om de volgorde en waarden van het resultaat te bepalen.
Voor matrices doorloopt de functie elk element in de eerste parameter en voegt deze toe aan het resultaat als deze nog niet aanwezig is. Vervolgens wordt het proces voor de tweede parameter en eventuele parameters herhaald. Als een waarde al aanwezig is, blijft de eerdere plaatsing in de matrix behouden.
Voor objecten worden eigenschapsnamen en -waarden uit de eerste parameter toegevoegd aan het resultaat. Voor latere parameters worden eventuele nieuwe namen toegevoegd aan het resultaat. Als een latere parameter een eigenschap met dezelfde naam heeft, overschrijft die waarde de bestaande waarde. De volgorde van de eigenschappen wordt niet gegarandeerd.
De samenvoegfunctie voegt niet alleen de elementen op het hoogste niveau samen, maar voegt ook recursief alle geneste objecten daarin samen. Geneste matrixwaarden worden niet samengevoegd. Zie het tweede voorbeeld in de volgende sectie.
Opmerking
In het volgende voorbeeld ziet u hoe u samenvoeging gebruikt met matrices en objecten.
{
"$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'))]"
}
}
}
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
objectOutput | Object | {"one": "a", "two": "b", "three": "c2", "four": "d", "five": "e"} |
arrayOutput | Matrix | ["één", "twee", "drie", "vier"] |
In het volgende voorbeeld ziet u de uitgebreide samenvoegfunctie:
{
"$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'))]"
}
}
}
De uitvoer uit het voorgaande voorbeeld is:
Name | Type | Weergegeven als |
---|---|---|
objectOutput | Object | {"property":{"one":"a","two":"b","three":"c2","four":"d","five":"e"},"nestedArray":[3,4]} |
arrayOutput | Matrix | [["één","twee"],["drie"],["vier","twee"]] |
Als geneste matrices zijn samengevoegd, is de waarde van objectOutput.nestedArray [1, 2, 3, 4] en de waarde van arrayOutput [["one", "two", "three",["three", "four", "two"]].
Volgende stappen
- Zie De structuur en syntaxis van ARM-sjablonen begrijpen voor een beschrijving van de secties in een ARM-sjabloon.