Strängfunktioner för ARM-mallar
Resource Manager tillhandahåller följande funktioner för att arbeta med strängar i din Azure Resource Manager-mall (ARM-mall):
- base64
- base64ToJson
- base64ToString
- concat
- Innehåller
- dataUri
- dataUriToString
- empty
- endsWith
- första
- format
- GUID
- indexOf
- join
- json
- sist
- lastIndexOf
- length
- newGuid
- padLeft
- ersätt
- skippa
- dela
- startsWith
- sträng
- Delsträng
- ta
- toLower
- toUpper
- trimma
- uniqueString
- Uri
- uriComponent
- uriComponentToString
Dricks
Vi rekommenderar Bicep eftersom det erbjuder samma funktioner som ARM-mallar och syntaxen är enklare att använda. Mer information finns i strängfunktioner .
base64
base64(inputString)
Returnerar base64-representationen av indatasträngen.
Använd funktionen base64 i Bicep.
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
inputString | Ja | sträng | Värdet som ska returneras som en base64-representation. |
Returvärde
En sträng som innehåller base64-representationen.
Exempel
I följande exempel visas hur du base64
använder funktionen.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"stringData": {
"type": "string",
"defaultValue": "one, two, three"
},
"jsonFormattedData": {
"type": "string",
"defaultValue": "{'one': 'a', 'two': 'b'}"
}
},
"variables": {
"base64String": "[base64(parameters('stringData'))]",
"base64Object": "[base64(parameters('jsonFormattedData'))]"
},
"resources": [
],
"outputs": {
"base64Output": {
"type": "string",
"value": "[variables('base64String')]"
},
"toStringOutput": {
"type": "string",
"value": "[base64ToString(variables('base64String'))]"
},
"toJsonOutput": {
"type": "object",
"value": "[base64ToJson(variables('base64Object'))]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
base64Output | String | b25lLCB0d28sIHRocmVl |
toStringOutput | String | Ett två tre |
toJsonOutput | Objekt | {"one": "a", "two": "b"} |
base64ToJson
base64ToJson(base64Value)
Konverterar en base64-representation till ett JSON-objekt.
I Bicep använder du funktionen base64ToJson .
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
base64Value | Ja | sträng | Base64-representationen som ska konverteras till ett JSON-objekt. |
Returvärde
Ett JSON-objekt.
Exempel
I följande exempel används base64ToJson
funktionen för att konvertera ett base64-värde:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"stringData": {
"type": "string",
"defaultValue": "one, two, three"
},
"jsonFormattedData": {
"type": "string",
"defaultValue": "{'one': 'a', 'two': 'b'}"
}
},
"variables": {
"base64String": "[base64(parameters('stringData'))]",
"base64Object": "[base64(parameters('jsonFormattedData'))]"
},
"resources": [
],
"outputs": {
"base64Output": {
"type": "string",
"value": "[variables('base64String')]"
},
"toStringOutput": {
"type": "string",
"value": "[base64ToString(variables('base64String'))]"
},
"toJsonOutput": {
"type": "object",
"value": "[base64ToJson(variables('base64Object'))]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
base64Output | String | b25lLCB0d28sIHRocmVl |
toStringOutput | String | Ett två tre |
toJsonOutput | Objekt | {"one": "a", "two": "b"} |
base64ToString
base64ToString(base64Value)
Konverterar en base64-representation till en sträng.
I Bicep använder du funktionen base64ToString .
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
base64Value | Ja | sträng | Base64-representationen som ska konverteras till en sträng. |
Returvärde
En sträng med det konverterade base64-värdet.
Exempel
I följande exempel används base64ToString
funktionen för att konvertera ett base64-värde:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"stringData": {
"type": "string",
"defaultValue": "one, two, three"
},
"jsonFormattedData": {
"type": "string",
"defaultValue": "{'one': 'a', 'two': 'b'}"
}
},
"variables": {
"base64String": "[base64(parameters('stringData'))]",
"base64Object": "[base64(parameters('jsonFormattedData'))]"
},
"resources": [
],
"outputs": {
"base64Output": {
"type": "string",
"value": "[variables('base64String')]"
},
"toStringOutput": {
"type": "string",
"value": "[base64ToString(variables('base64String'))]"
},
"toJsonOutput": {
"type": "object",
"value": "[base64ToJson(variables('base64Object'))]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
base64Output | String | b25lLCB0d28sIHRocmVl |
toStringOutput | String | Ett två tre |
toJsonOutput | Objekt | {"one": "a", "two": "b"} |
concat
concat(arg1, arg2, arg3, ...)
Kombinerar flera strängvärden och returnerar den sammanfogade strängen, eller kombinerar flera matriser och returnerar den sammanfogade matrisen.
I Bicep använder du stränginterpolation i stället för funktionen för att förbättra läsbarheten concat()
. Men i vissa fall, till exempel strängersättning i flerradssträngar, kan du behöva återgå till att använda concat()
funktionen eller replace()
funktionen.
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
arg1 | Ja | sträng eller matris | Den första strängen eller matrisen för sammanfogning. |
fler argument | Nej | sträng eller matris | Fler strängar eller matriser 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. Strängar sammanfogas bara med andra strängar.
Returvärde
En sträng eller matris med sammanfogade värden.
Exempel
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 |
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"] |
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
True
om objektet hittas; annars . False
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 |
dataUri
dataUri(stringToConvert)
Konverterar ett värde till en data-URI.
I Bicep använder du funktionen dataUri .
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
stringToConvert | Ja | sträng | Värdet som ska konverteras till en data-URI. |
Returvärde
En sträng formaterad som en data-URI.
Exempel
I följande exempel konverteras ett värde till en data-URI och en data-URI konverteras till en sträng.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"stringToTest": {
"type": "string",
"defaultValue": "Hello"
},
"dataFormattedString": {
"type": "string",
"defaultValue": "data:;base64,SGVsbG8sIFdvcmxkIQ=="
}
},
"resources": [],
"outputs": {
"dataUriOutput": {
"value": "[dataUri(parameters('stringToTest'))]",
"type": "string"
},
"toStringOutput": {
"type": "string",
"value": "[dataUriToString(parameters('dataFormattedString'))]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
dataUriOutput | String | data:text/oformaterad; charset=utf8; base64,SGVsbG8= |
toStringOutput | String | Hello, World! |
dataUriToString
dataUriToString(dataUriToConvert)
Konverterar ett data-URI-formaterat värde till en sträng.
I Bicep använder du funktionen dataUriToString .
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
dataUriToConvert | Ja | sträng | Data-URI-värdet som ska konverteras. |
Returvärde
En sträng som innehåller det konverterade värdet.
Exempel
Följande exempelmall konverterar ett värde till en data-URI och konverterar en data-URI till en sträng.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"stringToTest": {
"type": "string",
"defaultValue": "Hello"
},
"dataFormattedString": {
"type": "string",
"defaultValue": "data:;base64,SGVsbG8sIFdvcmxkIQ=="
}
},
"resources": [],
"outputs": {
"dataUriOutput": {
"value": "[dataUri(parameters('stringToTest'))]",
"type": "string"
},
"toStringOutput": {
"type": "string",
"value": "[dataUriToString(parameters('dataFormattedString'))]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
dataUriOutput | String | data:text/oformaterad; charset=utf8; base64,SGVsbG8= |
toStringOutput | String | Hello, World! |
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 True
om värdet är tomt, annars False
.
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 |
endsWith
endsWith(stringToSearch, stringToFind)
Avgör om en sträng slutar med ett värde. Jämförelsen är skiftlägeskänslig.
I Bicep använder du funktionen endsWith .
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
stringToSearch | Ja | sträng | Värdet som innehåller det objekt som ska hittas. |
stringToFind | Ja | sträng | Värdet som ska hittas. |
Returvärde
True
om strängens sista tecken eller tecken matchar värdet. annars . False
Exempel
I följande exempel visas hur du använder startsWith
funktionerna och endsWith
:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"startsTrue": {
"type": "bool",
"value": "[startsWith('abcdef', 'ab')]"
},
"startsCapTrue": {
"type": "bool",
"value": "[startsWith('abcdef', 'A')]"
},
"startsFalse": {
"type": "bool",
"value": "[startsWith('abcdef', 'e')]"
},
"endsTrue": {
"type": "bool",
"value": "[endsWith('abcdef', 'ef')]"
},
"endsCapTrue": {
"type": "bool",
"value": "[endsWith('abcdef', 'F')]"
},
"endsFalse": {
"type": "bool",
"value": "[endsWith('abcdef', 'e')]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
startsTrue | Bool | Sant |
startsCapTrue | Bool | Sant |
startsFalse | Bool | Falsk |
endsTrue | Bool | Sant |
endsCapTrue | Bool | Sant |
endsFalse | Bool | Falsk |
Första
first(arg1)
Returnerar det första tecknet i strängen eller det första elementet i matrisen. Om en tom sträng anges resulterar funktionen i en tom sträng. När det gäller en tom matris returnerar null
funktionen .
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
En sträng med det första tecknet, eller typen (sträng, int, matris eller objekt) för det första elementet i en matris.
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 |
format
format(formatString, arg1, arg2, ...)
Skapar en formaterad sträng från indatavärden.
I Bicep använder du formatfunktionen .
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
formatString | Ja | sträng | Den sammansatta formatsträngen. |
arg1 | Ja | sträng, heltal eller booleskt värde | Värdet som ska inkluderas i den formaterade strängen. |
fler argument | Nej | sträng, heltal eller booleskt värde | Fler värden att inkludera i den formaterade strängen. |
Kommentarer
Använd den här funktionen för att formatera en sträng i mallen. Den använder samma formateringsalternativ som metoden System.String.Format i .NET.
Exempel
I följande exempel visas hur du använder formatfunktionen.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"greeting": {
"type": "string",
"defaultValue": "Hello"
},
"name": {
"type": "string",
"defaultValue": "User"
},
"numberToFormat": {
"type": "int",
"defaultValue": 8175133
}
},
"resources": [
],
"outputs": {
"formatTest": {
"type": "string",
"value": "[format('{0}, {1}. Formatted number: {2:N0}', parameters('greeting'), parameters('name'), parameters('numberToFormat'))]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
formatTest | String | Hej, användare. Formaterat tal: 8 175 133 |
guid
guid(baseString, ...)
Skapar ett värde i formatet för en globalt unik identifierare baserat på de värden som anges som parametrar.
Använd guid-funktionen i Bicep.
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
baseString | Ja | sträng | Värdet som används i hash-funktionen för att skapa GUID. |
fler parametrar efter behov | Nej | sträng | Du kan lägga till så många strängar som behövs för att skapa det värde som anger unikhetsnivån. |
Kommentarer
Den här funktionen är användbar när du behöver skapa ett värde i formatet för en globalt unik identifierare. Du anger parametervärden som begränsar omfattningen av unikhet för resultatet. Du kan ange om namnet är unikt ned till prenumeration, resursgrupp eller distribution.
Det returnerade värdet är inte en slumpmässig sträng, utan snarare resultatet av en hash-funktion på parametrarna. Det returnerade värdet är 36 tecken långt. Det är inte globalt unikt. Om du vill skapa ett nytt GUID som inte baseras på det hashvärdet för parametrarna använder du funktionen newGuid .
I följande exempel visas hur du använder guid för att skapa ett unikt värde för vanliga nivåer.
Unikt omfång för prenumeration
"[guid(subscription().subscriptionId)]"
Unikt omfång för resursgrupp
"[guid(resourceGroup().id)]"
Unikt omfång för distribution för en resursgrupp
"[guid(resourceGroup().id, deployment().name)]"
Funktionen guid
implementerar algoritmen från RFC 4122 §4.3. Den ursprungliga källan finns i GuidUtility med vissa ändringar.
Returvärde
En sträng som innehåller 36 tecken i formatet för en globalt unik identifierare.
Exempel
I följande exempel returneras resultat från guid
:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"resources": [],
"outputs": {
"guidPerSubscription": {
"type": "string",
"value": "[guid(subscription().subscriptionId)]"
},
"guidPerResourceGroup": {
"type": "string",
"value": "[guid(resourceGroup().id)]"
},
"guidPerDeployment": {
"type": "string",
"value": "[guid(resourceGroup().id, deployment().name)]"
}
}
}
indexOf
indexOf(stringToSearch, stringToFind)
Returnerar den första positionen för ett värde i en sträng. Jämförelsen är skiftlägeskänslig.
I Bicep använder du funktionen indexOf .
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
stringToSearch | Ja | sträng | Värdet som innehåller det objekt som ska hittas. |
stringToFind | Ja | sträng | Värdet som ska hittas. |
Returvärde
Ett heltal som representerar positionen för objektet som ska hittas. Värdet är nollbaserat. Om objektet inte hittas returneras -1.
Exempel
I följande exempel visas hur du använder indexOf
funktionerna och lastIndexOf
:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"firstT": {
"type": "int",
"value": "[indexOf('test', 't')]"
},
"lastT": {
"type": "int",
"value": "[lastIndexOf('test', 't')]"
},
"firstString": {
"type": "int",
"value": "[indexOf('abcdef', 'CD')]"
},
"lastString": {
"type": "int",
"value": "[lastIndexOf('abcdef', 'AB')]"
},
"notFound": {
"type": "int",
"value": "[indexOf('abcdef', 'z')]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
firstT | Int | 0 |
lastT | Int | 3 |
firstString | Int | 2 |
lastString | Int | 0 |
notFound | Int | -1 |
anslut
join(inputArray, delimiter)
Kopplar en strängmatris till en enskild sträng, avgränsad med en avgränsare.
Använd kopplingsfunktionen i Bicep.
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
inputArray | Ja | strängmatris | En strängmatris som ska kopplas. |
avgränsare | Ja | Avgränsaren som ska användas för att dela upp strängen. |
Returvärde
En sträng.
Exempel
I följande exempel kopplas indatasträngmatrisen till strängar som avgränsas med hjälp av olika avgränsare.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {
"arrayString": [
"one",
"two",
"three"
]
},
"resources": [],
"outputs": {
"firstOutput": {
"type": "string",
"value": "[join(variables('arrayString'), ',')]"
},
"secondOutput": {
"type": "string",
"value": "[join(variables('arrayString'), ';')]"
}
}
}
Utdata från föregående exempel är:
Namn | Typ | Värde |
---|---|---|
firstOutput | String | "ett,två,tre" |
secondOutput | String | "en; två; tre" |
json
json(arg1)
Konverterar en giltig JSON-sträng till en JSON-datatyp. Mer information finns i json-funktionen.
Använd json-funktionen i Bicep.
senaste
last(arg1)
Returnerar strängens sista tecken eller det sista elementet i matrisen.
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
En sträng med det sista tecknet, eller typen (sträng, int, matris eller objekt) för det sista elementet i en matris.
Exempel
I följande exempel visas hur du last
använder 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(stringToSearch, stringToFind)
Returnerar den sista positionen för ett värde i en sträng. Jämförelsen är skiftlägeskänslig.
I Bicep använder du funktionen lastIndexOf .
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
stringToSearch | Ja | sträng | Värdet som innehåller det objekt som ska hittas. |
stringToFind | Ja | sträng | Värdet som ska hittas. |
Returvärde
Ett heltal som representerar objektets sista position att hitta. Värdet är nollbaserat. Om objektet inte hittas returneras -1.
Exempel
I följande exempel visas hur du använder indexOf
funktionerna och lastIndexOf
:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"firstT": {
"type": "int",
"value": "[indexOf('test', 't')]"
},
"lastT": {
"type": "int",
"value": "[lastIndexOf('test', 't')]"
},
"firstString": {
"type": "int",
"value": "[indexOf('abcdef', 'CD')]"
},
"lastString": {
"type": "int",
"value": "[lastIndexOf('abcdef', 'AB')]"
},
"notFound": {
"type": "int",
"value": "[indexOf('abcdef', 'z')]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
firstT | Int | 0 |
lastT | Int | 3 |
firstString | Int | 2 |
lastString | Int | 0 |
notFound | Int | -1 |
längd
length(string)
Returnerar antalet tecken i en sträng, element i en matris eller egenskaper på rotnivå 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 length
använder 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"
]
},
"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 |
newGuid
newGuid()
Returnerar ett värde i formatet för en globalt unik identifierare. Den här funktionen kan bara användas i standardvärdet för en parameter.
I Bicep använder du funktionen newGuid .
Kommentarer
Du kan bara använda den här funktionen i ett uttryck för standardvärdet för en parameter. Om du använder den här funktionen någon annanstans i en mall returneras ett fel. Funktionen tillåts inte i andra delar av mallen eftersom den returnerar ett annat värde varje gång den anropas. Att distribuera samma mall med samma parametrar skulle inte ge samma resultat på ett tillförlitligt sätt.
Funktionen newGuid skiljer sig från guid-funktionen eftersom den inte tar några parametrar. När du anropar guid med samma parameter returneras samma identifierare varje gång. Använd guid när du behöver generera samma GUID på ett tillförlitligt sätt för en specifik miljö. Använd newGuid när du behöver en annan identifierare varje gång, till exempel distribuera resurser till en testmiljö.
Funktionen newGuid använder Guid-strukturen i .NET Framework för att generera den globalt unika identifieraren.
Om du använder alternativet för att distribuera om en tidigare lyckad distribution, och den tidigare distributionen innehåller en parameter som använder newGuid, utvärderas inte parametern igen. I stället återanvänds parametervärdet från den tidigare distributionen automatiskt i återställningsdistributionen.
I en testmiljö kan du behöva distribuera resurser som bara finns under en kort tid upprepade gånger. I stället för att skapa unika namn kan du använda newGuid med uniqueString för att skapa unika namn.
Var försiktig med att distribuera om en mall som förlitar sig på funktionen newGuid för ett standardvärde. När du distribuerar om och inte anger något värde för parametern utvärderas funktionen igen. Om du vill uppdatera en befintlig resurs i stället för att skapa en ny skickar du parametervärdet från den tidigare distributionen.
Returvärde
En sträng som innehåller 36 tecken i formatet för en globalt unik identifierare.
Exempel
I följande exempel visas en parameter med en ny identifierare.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"guidValue": {
"type": "string",
"defaultValue": "[newGuid()]"
}
},
"resources": [
],
"outputs": {
"guidOutput": {
"type": "string",
"value": "[parameters('guidValue')]"
}
}
}
Utdata från föregående exempel varierar för varje distribution men kommer att likna:
Namn | Typ | Värde |
---|---|---|
guidOutput | sträng | b76a51fc-bd72-4a77-b9a2-3c29e7d2e551 |
I följande exempel används newGuid
funktionen för att skapa ett unikt namn för ett lagringskonto. Den här mallen kan fungera för testmiljön där lagringskontot finns under en kort tid och inte distribueras om.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"guidValue": {
"type": "string",
"defaultValue": "[newGuid()]"
}
},
"variables": {
"storageName": "[concat('storage', uniqueString(parameters('guidValue')))]"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2021-04-01",
"name": "[variables('storageName')]",
"location": "West US",
"sku": {
"name": "Standard_LRS"
},
"kind": "StorageV2",
"properties": {}
}
],
"outputs": {
"nameOutput": {
"type": "string",
"value": "[variables('storageName')]"
}
}
}
Utdata från föregående exempel varierar för varje distribution men kommer att likna:
Namn | Typ | Värde |
---|---|---|
nameOutput | sträng | storagenziwvyru7uxie |
padLeft
padLeft(valueToPad, totalLength, paddingCharacter)
Returnerar en högerjusterad sträng genom att lägga till tecken till vänster tills den totala angivna längden har nåtts.
I Bicep använder du funktionen padLeft .
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
valueToPad | Ja | sträng eller int | Värdet till högerjustera. |
totalLength | Ja | heltal | Det totala antalet tecken i den returnerade strängen. |
paddingCharacter | Nej | enskilt tecken | Tecknet som ska användas för vänster utfyllnad tills den totala längden har nåtts. Standardvärdet är ett blanksteg. |
Om den ursprungliga strängen är längre än antalet tecken som ska fyllas i läggs inga tecken till.
Returvärde
En sträng med minst antalet angivna tecken.
Exempel
I följande exempel visas hur du fyller på parametervärdet som tillhandahålls av användaren genom att lägga till nolltecknet tills det totala antalet tecken når det totala antalet tecken.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"testString": {
"type": "string",
"defaultValue": "123"
}
},
"resources": [],
"outputs": {
"stringOutput": {
"type": "string",
"value": "[padLeft(parameters('testString'),10,'0')]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
stringOutput | String | 0000000123 |
ersätt
replace(originalString, oldString, newString)
Returnerar en ny sträng med alla instanser av en sträng ersatt av en annan sträng.
Använd funktionen replace i Bicep.
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
originalString | Ja | sträng | Värdet som har alla instanser av en sträng ersatt av en annan sträng. |
oldString | Ja | sträng | Strängen som ska tas bort från den ursprungliga strängen. |
newString | Ja | sträng | Strängen som ska läggas till i stället för den borttagna strängen. |
Returvärde
En sträng med de ersatta tecknen.
Exempel
I följande exempel visas hur du tar bort alla bindestreck från den användardefinierade strängen och hur du ersätter en del av strängen med en annan sträng.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"testString": {
"type": "string",
"defaultValue": "123-123-1234"
}
},
"resources": [],
"outputs": {
"firstOutput": {
"type": "string",
"value": "[replace(parameters('testString'),'-', '')]"
},
"secondOutput": {
"type": "string",
"value": "[replace(parameters('testString'),'1234', 'xxxx')]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
firstOutput | String | 1231231234 |
secondOutput | String | 123-123-xxxx |
hoppa över
skip(originalValue, numberToSkip)
Returnerar en sträng med alla tecken efter det angivna antalet tecken eller en matris med alla element efter det angivna antalet element.
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 |
dela
split(inputString, delimiter)
Returnerar en matris med strängar som innehåller delsträngarna för indatasträngen som avgränsas av de angivna avgränsarna.
Använd funktionen split i Bicep.
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
inputString | Ja | sträng | Strängen som ska delas. |
avgränsare | Ja | sträng eller matris med strängar | Avgränsaren som ska användas för att dela upp strängen. |
Returvärde
En matris med strängar.
Exempel
I följande exempel delas indatasträngen med ett kommatecken och med antingen ett kommatecken eller ett semikolon.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"firstString": {
"type": "string",
"defaultValue": "one,two,three"
},
"secondString": {
"type": "string",
"defaultValue": "one;two,three"
}
},
"variables": {
"delimiters": [ ",", ";" ]
},
"resources": [],
"outputs": {
"firstOutput": {
"type": "array",
"value": "[split(parameters('firstString'),',')]"
},
"secondOutput": {
"type": "array",
"value": "[split(parameters('secondString'),variables('delimiters'))]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
firstOutput | Matris | ["one", "two", "three"] |
secondOutput | Matris | ["one", "two", "three"] |
startsWith
startsWith(stringToSearch, stringToFind)
Avgör om en sträng börjar med ett värde. Jämförelsen är skiftlägeskänslig.
I Bicep använder du funktionen startsWith .
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
stringToSearch | Ja | sträng | Värdet som innehåller det objekt som ska hittas. |
stringToFind | Ja | sträng | Värdet som ska hittas. |
Returvärde
True
om det första tecknet eller tecknen i strängen matchar värdet; annars . False
Exempel
I följande exempel visas hur du använder startsWith
funktionerna och endsWith
:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"startsTrue": {
"type": "bool",
"value": "[startsWith('abcdef', 'ab')]"
},
"startsCapTrue": {
"type": "bool",
"value": "[startsWith('abcdef', 'A')]"
},
"startsFalse": {
"type": "bool",
"value": "[startsWith('abcdef', 'e')]"
},
"endsTrue": {
"type": "bool",
"value": "[endsWith('abcdef', 'ef')]"
},
"endsCapTrue": {
"type": "bool",
"value": "[endsWith('abcdef', 'F')]"
},
"endsFalse": {
"type": "bool",
"value": "[endsWith('abcdef', 'e')]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
startsTrue | Bool | Sant |
startsCapTrue | Bool | Sant |
startsFalse | Bool | Falsk |
endsTrue | Bool | Sant |
endsCapTrue | Bool | Sant |
endsFalse | Bool | Falsk |
sträng
string(valueToConvert)
Konverterar det angivna värdet till en sträng.
Använd strängfunktionen i Bicep.
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
valueToConvert | Ja | Alla | Värdet som ska konverteras till strängen. Alla typer av värden kan konverteras, inklusive objekt och matriser. |
Returvärde
En sträng med det konverterade värdet.
Exempel
I följande exempel visas hur du konverterar olika typer av värden till strängar.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"testObject": {
"type": "object",
"defaultValue": {
"valueA": 10,
"valueB": "Example Text"
}
},
"testArray": {
"type": "array",
"defaultValue": [
"a",
"b",
"c"
]
},
"testInt": {
"type": "int",
"defaultValue": 5
}
},
"resources": [],
"outputs": {
"objectOutput": {
"type": "string",
"value": "[string(parameters('testObject'))]"
},
"arrayOutput": {
"type": "string",
"value": "[string(parameters('testArray'))]"
},
"intOutput": {
"type": "string",
"value": "[string(parameters('testInt'))]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
objectOutput | String | {"valueA":10,"valueB":"Exempeltext"} |
arrayOutput | String | ["a","b","c"] |
intOutput | String | 5 |
Delsträng
substring(stringToParse, startIndex, length)
Returnerar en delsträng som börjar vid den angivna teckenpositionen och innehåller det angivna antalet tecken.
I Bicep använder du funktionen substring .
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
stringToParse | Ja | sträng | Den ursprungliga strängen som delsträngen extraheras från. |
startIndex | Nej | heltal | Den nollbaserade startteckenpositionen för delsträngen. |
längd | Nej | heltal | Antalet tecken för delsträngen. Måste referera till en plats i strängen. Måste vara noll eller större. Om den utelämnas returneras resten av strängen från startpositionen. |
Returvärde
Delsträngen. Eller en tom sträng om längden är noll.
Kommentarer
Funktionen misslyckas när delsträngen sträcker sig bortom slutet av strängen eller när längden är mindre än noll. Följande exempel misslyckas med felet "Index- och längdparametrarna måste referera till en plats i strängen. Indexparametern: '0', längdparametern: '11', längden på strängparametern: '10'.".
"parameters": {
"inputString": {
"type": "string",
"value": "1234567890"
}
}, "variables": {
"prefix": "[substring(parameters('inputString'), 0, 11)]"
}
Exempel
I följande exempel extraheras en delsträng från en parameter.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"testString": {
"type": "string",
"defaultValue": "one two three"
}
},
"resources": [],
"outputs": {
"substringOutput": {
"type": "string",
"value": "[substring(parameters('testString'), 4, 3)]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
substringOutput | String | två |
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 |
toLower
toLower(stringToChange)
Konverterar den angivna strängen till gemener.
I Bicep använder du funktionen toLower .
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
stringToChange | Ja | sträng | Värdet som ska konverteras till gemener. |
Returvärde
Strängen konverterades till gemener.
Exempel
I följande exempel konverteras ett parametervärde till gemener och versaler.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"testString": {
"type": "string",
"defaultValue": "One Two Three"
}
},
"resources": [],
"outputs": {
"toLowerOutput": {
"type": "string",
"value": "[toLower(parameters('testString'))]"
},
"toUpperOutput": {
"type": "string",
"value": "[toUpper(parameters('testString'))]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
toLowerOutput | String | Ett två tre |
toUpperOutput | String | ETT TVÅ TRE |
toUpper
toUpper(stringToChange)
Konverterar den angivna strängen till versaler.
I Bicep använder du funktionen toUpper .
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
stringToChange | Ja | sträng | Värdet som ska konverteras till versaler. |
Returvärde
Strängen konverterades till versaler.
Exempel
I följande exempel konverteras ett parametervärde till gemener och versaler.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"testString": {
"type": "string",
"defaultValue": "One Two Three"
}
},
"resources": [],
"outputs": {
"toLowerOutput": {
"type": "string",
"value": "[toLower(parameters('testString'))]"
},
"toUpperOutput": {
"type": "string",
"value": "[toUpper(parameters('testString'))]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
toLowerOutput | String | Ett två tre |
toUpperOutput | String | ETT TVÅ TRE |
trimma
trim(stringToTrim)
Tar bort alla inledande och avslutande blankstegstecken från den angivna strängen.
Använd trimfunktionen i Bicep.
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
stringToTrim | Ja | sträng | Värdet som ska trimmas. |
Returvärde
Strängen utan inledande och avslutande blankstegstecken.
Exempel
I följande exempel trimmas blankstegstecken från parametern.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"testString": {
"type": "string",
"defaultValue": " one two three "
}
},
"resources": [],
"outputs": {
"return": {
"type": "string",
"value": "[trim(parameters('testString'))]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
retur | String | Ett två tre |
uniqueString
uniqueString(baseString, ...)
Skapar en deterministisk hashsträng baserat på de värden som anges som parametrar.
I Bicep använder du funktionen uniqueString .
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
baseString | Ja | sträng | Värdet som används i hash-funktionen för att skapa en unik sträng. |
fler parametrar efter behov | Nej | sträng | Du kan lägga till så många strängar som behövs för att skapa det värde som anger unikhetsnivån. |
Kommentarer
Den här funktionen är användbar när du behöver skapa ett unikt namn för en resurs. Du anger parametervärden som begränsar omfattningen av unikhet för resultatet. Du kan ange om namnet är unikt ned till prenumeration, resursgrupp eller distribution.
Det returnerade värdet är inte en slumpmässig sträng, utan snarare resultatet av en hash-funktion. Det returnerade värdet är 13 tecken långt. Det är inte globalt unikt. Du kanske vill kombinera värdet med ett prefix från namngivningskonventionen för att skapa ett namn som är meningsfullt. I följande exempel visas formatet för det returnerade värdet. Det faktiska värdet varierar beroende på de angivna parametrarna.
tcvhiyu5h2o5o
I följande exempel visas hur du använder uniqueString
för att skapa ett unikt värde för vanliga nivåer.
Unikt omfång för prenumeration
"[uniqueString(subscription().subscriptionId)]"
Unikt omfång för resursgrupp
"[uniqueString(resourceGroup().id)]"
Unikt omfång för distribution för en resursgrupp
"[uniqueString(resourceGroup().id, deployment().name)]"
I följande exempel visas hur du skapar ett unikt namn för ett lagringskonto baserat på din resursgrupp. I resursgruppen är namnet inte unikt om det konstrueras på samma sätt.
"resources": [{
"name": "[concat('storage', uniqueString(resourceGroup().id))]",
"type": "Microsoft.Storage/storageAccounts",
...
Om du behöver skapa ett nytt unikt namn varje gång du distribuerar en mall och inte tänker uppdatera resursen kan du använda funktionen utcNow med uniqueString
. Du kan använda den här metoden i en testmiljö. Ett exempel finns i utcNow.
Returvärde
En sträng som innehåller 13 tecken.
Exempel
I följande exempel returneras resultat från uniquestring
:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"uniqueRG": {
"type": "string",
"value": "[uniqueString(resourceGroup().id)]"
},
"uniqueDeploy": {
"type": "string",
"value": "[uniqueString(resourceGroup().id, deployment().name)]"
}
}
}
uri
uri(baseUri, relativeUri)
Skapar en absolut URI genom att kombinera baseUri och relativeUri-strängen.
I Bicep använder du URI-funktionen.
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
baseUri | Ja | sträng | Bas-URI-strängen. Observera beteendet för hanteringen av det avslutande snedstrecket (/ ), enligt beskrivningen i den här tabellen. |
relativeUri | Ja | sträng | Den relativa uri-strängen som ska läggas till i bas-URI-strängen. |
Om
baseUri
slutar med ett avslutande snedstreck följs resultatet helt enkeltbaseUri
avrelativeUri
. OmrelativeUri
det också börjar med ett inledande snedstreck kombineras det avslutande snedstrecket och det inledande snedstrecket till ett.Om
baseUri
slutar inte i ett avslutande snedstreck händer en av två saker.Om
baseUri
det inte finns några snedstreck alls (bortsett från//
den närmaste fronten) följs resultatetbaseUri
avrelativeUri
.Om
baseUri
har vissa snedstreck, men inte slutar med ett snedstreck, tas allt från det senaste snedstrecket och framåt bort ochbaseUri
resultatetbaseUri
följs avrelativeUri
.
Nedan följer några exempel:
uri('http://contoso.org/firstpath', 'myscript.sh') -> http://contoso.org/myscript.sh
uri('http://contoso.org/firstpath/', 'myscript.sh') -> http://contoso.org/firstpath/myscript.sh
uri('http://contoso.org/firstpath/', '/myscript.sh') -> http://contoso.org/firstpath/myscript.sh
uri('http://contoso.org/firstpath/azuredeploy.json', 'myscript.sh') -> http://contoso.org/firstpath/myscript.sh
uri('http://contoso.org/firstpath/azuredeploy.json/', 'myscript.sh') -> http://contoso.org/firstpath/azuredeploy.json/myscript.sh
För fullständig information matchas parametrarna och relativeUri
enligt beskrivningen baseUri
i RFC 3986, avsnitt 5.
Returvärde
En sträng som representerar den absoluta URI:n för bas- och relativa värden.
Exempel
I följande exempel visas hur du skapar en länk till en kapslad mall baserat på värdet för den överordnade mallen.
"templateLink": "[uri(deployment().properties.templateLink.uri, 'nested/azuredeploy.json')]"
Följande exempelmall visar hur du använder uri
, uriComponent
och uriComponentToString
.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {
"uriFormat": "[uri('http://contoso.com/resources/', 'nested/azuredeploy.json')]",
"uriEncoded": "[uriComponent(variables('uriFormat'))]"
},
"resources": [
],
"outputs": {
"uriOutput": {
"type": "string",
"value": "[variables('uriFormat')]"
},
"componentOutput": {
"type": "string",
"value": "[variables('uriEncoded')]"
},
"toStringOutput": {
"type": "string",
"value": "[uriComponentToString(variables('uriEncoded'))]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
uriOutput | String | http://contoso.com/resources/nested/azuredeploy.json |
componentOutput | String | http%3A%2F%2Fcontoso.com%2Fresources%2Fnested%2Fazuredeploy.json |
toStringOutput | String | http://contoso.com/resources/nested/azuredeploy.json |
uriComponent
uricomponent(stringToEncode)
Kodar en URI.
I Bicep använder du funktionen uriComponent .
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
stringToEncode | Ja | sträng | Värdet som ska kodas. |
Returvärde
En sträng med det URI-kodade värdet.
Exempel
Följande exempelmall visar hur du använder uri
, uriComponent
och uriComponentToString
.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {
"uriFormat": "[uri('http://contoso.com/resources/', 'nested/azuredeploy.json')]",
"uriEncoded": "[uriComponent(variables('uriFormat'))]"
},
"resources": [
],
"outputs": {
"uriOutput": {
"type": "string",
"value": "[variables('uriFormat')]"
},
"componentOutput": {
"type": "string",
"value": "[variables('uriEncoded')]"
},
"toStringOutput": {
"type": "string",
"value": "[uriComponentToString(variables('uriEncoded'))]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
uriOutput | String | http://contoso.com/resources/nested/azuredeploy.json |
componentOutput | String | http%3A%2F%2Fcontoso.com%2Fresources%2Fnested%2Fazuredeploy.json |
toStringOutput | String | http://contoso.com/resources/nested/azuredeploy.json |
uriComponentToString
uriComponentToString(uriEncodedString)
Returnerar en sträng med ett URI-kodat värde.
I Bicep använder du funktionen uriComponentToString .
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
uriEncodedString | Ja | sträng | Det URI-kodade värdet som ska konverteras till en sträng. |
Returvärde
En avkodad sträng med URI-kodat värde.
Exempel
I följande exempel visas hur du använder uri
, uriComponent
och uriComponentToString
.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {
"uriFormat": "[uri('http://contoso.com/resources/', 'nested/azuredeploy.json')]",
"uriEncoded": "[uriComponent(variables('uriFormat'))]"
},
"resources": [
],
"outputs": {
"uriOutput": {
"type": "string",
"value": "[variables('uriFormat')]"
},
"componentOutput": {
"type": "string",
"value": "[variables('uriEncoded')]"
},
"toStringOutput": {
"type": "string",
"value": "[uriComponentToString(variables('uriEncoded'))]"
}
}
}
Utdata från föregående exempel med standardvärdena är:
Namn | Typ | Värde |
---|---|---|
uriOutput | String | http://contoso.com/resources/nested/azuredeploy.json |
componentOutput | String | http%3A%2F%2Fcontoso.com%2Fresources%2Fnested%2Fazuredeploy.json |
toStringOutput | String | http://contoso.com/resources/nested/azuredeploy.json |
Nästa steg
- En beskrivning av avsnitten i en ARM-mall finns i Förstå strukturen och syntaxen för ARM-mallar.
- Information om hur du sammanfogar flera mallar finns i Använda länkade och kapslade mallar när du distribuerar Azure-resurser.
- Information om hur du itererar ett angivet antal gånger när du skapar en typ av resurs finns i Resursiteration i ARM-mallar.
- Information om hur du distribuerar mallen som du har skapat finns i Distribuera resurser med ARM-mallar och Azure PowerShell.