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