Dela via


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):

Dricks

Bicep rekommenderas 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 i base64 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": {
    "storageResourceGroup": {
      "type": "string"
    },
    "storageAccountName": {
      "type": "string"
    }
  },
  "resources": [],
  "outputs": {
    "ExistingStorage": {
      "type": "object",
      "value": "[reference(resourceId(parameters('storageResourceGroup'), 'Microsoft.Storage/storageAccounts', parameters('storageAccountName')), '2021-04-01')]"
    }
  }
}

Utdata från standardvärdena från föregående exempel är:

Namn Type 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.

Använd funktionen i base64ToJson Bicep.

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": {
    "storageResourceGroup": {
      "type": "string"
    },
    "storageAccountName": {
      "type": "string"
    }
  },
  "resources": [],
  "outputs": {
    "ExistingStorage": {
      "type": "object",
      "value": "[reference(resourceId(parameters('storageResourceGroup'), 'Microsoft.Storage/storageAccounts', parameters('storageAccountName')), '2021-04-01')]"
    }
  }
}

Utdata från standardvärdena från föregående exempel är:

Namn Type 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.

Använd funktionen i base64ToString Bicep.

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": {
    "storageResourceGroup": {
      "type": "string"
    },
    "storageAccountName": {
      "type": "string"
    }
  },
  "resources": [],
  "outputs": {
    "ExistingStorage": {
      "type": "object",
      "value": "[reference(resourceId(parameters('storageResourceGroup'), 'Microsoft.Storage/storageAccounts', parameters('storageAccountName')), '2021-04-01')]"
    }
  }
}

Utdata från standardvärdena från föregående exempel är:

Namn Type 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 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 standardvärdena från föregående exempel är:

Namn Type 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 standardvärdena från föregående exempel är:

Namn Type 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.

Använd funktionen i contains Bicep.

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

Trueom objektet hittas; annars . False

Exempel

I följande exempel visas hur du använder contains 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 standardvärdena från föregående exempel är:

Namn Type 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.

Använd funktionen i dataUri Bicep.

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 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 standardvärdena från föregående exempel är:

Namn Type Värde
dataUriOutput String data:text/oformaterad; charset=utf8; base64,SGVsbG8=
toStringOutput String Hej världen!

dataUriToString

dataUriToString(dataUriToConvert)

Konverterar ett data-URI-formaterat värde till en sträng.

Använd funktionen i dataUriToString Bicep.

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

I följande exempelmall konverteras ett värde till en data-URI och 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 standardvärdena från föregående exempel är:

Namn Type Värde
dataUriOutput String data:text/oformaterad; charset=utf8; base64,SGVsbG8=
toStringOutput String Hej världen!

empty

empty(itemToTest)

Avgör om en matris, ett objekt eller en sträng är tom.

Använd funktionen i empty 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 standardvärdena från föregående exempel är:

Namn Type 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.

Använd funktionen i endsWith Bicep.

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

Trueom 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 standardvärdena från föregående exempel är:

Namn Type 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 nullfunktionen .

Använd funktionen i first 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 first använder funktionen med en matris och en 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 standardvärdena från föregående exempel är:

Namn Type Värde
arrayOutput String en
stringOutput String O

format

format(formatString, arg1, arg2, ...)

Skapar en formaterad sträng från indatavärden.

Använd funktionen i format Bicep.

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 format använder funktionen:

{
  "$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 standardvärdena från föregående exempel är:

Namn Type 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 funktionen i guid 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 newGuid funktionen.

Följande exempel visar 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. I funktionsimplementeringen är inställt på guid(), och namespaceId är inställt på 11fb06fb-712d-4ddd-98c7-e71bbd588830.version5 Värdet genereras genom att konvertera varje parameter i guid() funktionen till en sträng och sammanfoga dem med - som avgränsare.

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.

Använd funktionen i indexOf Bicep.

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 standardvärdena från föregående exempel är:

Namn Type 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 funktionen i join 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 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 Type 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 funktion.

Använd funktionen i json Bicep.

senaste

last(arg1)

Returnerar strängens sista tecken eller det sista elementet i matrisen.

Använd funktionen i last 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 en 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 standardvärdena från föregående exempel är:

Namn Type 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.

Använd funktionen i lastIndexOf Bicep.

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 standardvärdena från föregående exempel är:

Namn Type 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 funktionen i length 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 en 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 standardvärdena från föregående exempel är:

Namn Type 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.

Använd funktionen i newGuid Bicep.

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 där den tidigare distributionen innehåller en parameter som använder newGuidutvärderas inte parametern igen. I stället återanvänder återställningsdistributionen automatiskt parametervärdet från den tidigare distributionen.

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å newGuid funktionen 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 Type 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 igen:

{
  "$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 Type 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.

Använd funktionen i padLeft Bicep.

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 lägger till nolltecknet tills det når det totala antalet tecken för att fylla på det användardefinierade parametervärdet:

{
  "$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 standardvärdena från föregående exempel är:

Namn Type 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 i replace 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 en sträng som tillhandahålls av användaren och hur du ersätter en del av strängen med en annan:

{
  "$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 standardvärdena från föregående exempel är:

Namn Type 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.

Använd funktionen i skip Bicep.

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 standardvärdena från föregående exempel är:

Namn Type 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 i split 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 följande sträng med kommatecken eller 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 standardvärdena från föregående exempel är:

Namn Type 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.

Använd funktionen i startsWith Bicep.

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

Trueom 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 standardvärdena från föregående exempel är:

Namn Type 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 funktionen i string 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 standardvärdena från föregående exempel är:

Namn Type 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.

Använd funktionen i substring Bicep.

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 standardvärdena från föregående exempel är:

Namn Type 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.

Använd funktionen i take Bicep.

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 tecknen 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 standardvärdena från föregående exempel är:

Namn Type Värde
arrayOutput Matris ["en", "två"]
stringOutput String on

toLower

toLower(stringToChange)

Konverterar den angivna strängen till gemener.

Använd funktionen i toLower Bicep.

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 standardvärdena från föregående exempel är:

Namn Type Värde
toLowerOutput String Ett två tre
toUpperOutput String ETT TVÅ TRE

toUpper

toUpper(stringToChange)

Konverterar den angivna strängen till versaler.

Använd funktionen i toUpper Bicep.

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 standardvärdena från föregående exempel är:

Namn Type 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 funktionen i trim 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 standardvärdena från föregående exempel är:

Namn Type Värde
retur String Ett två tre

uniqueString

uniqueString(baseString, ...)

Skapar en deterministisk hashsträng baserat på de värden som anges som parametrar.

Använd funktionen i uniqueString Bicep.

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

Följande exempel visar 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 har konstruerats 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 utcNow funktionen 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.

Använd funktionen i uri Bicep.

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 enkelt baseUri av relativeUri. Om relativeUri 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 resultatet baseUri av relativeUri.

    • Om baseUri har vissa snedstreck, men inte slutar med ett snedstreck, tas allt från det senaste snedstrecket och framåt bort och baseUri resultatet baseUri följs av relativeUri.

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, uriComponentoch 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 standardvärdena från föregående exempel är:

Namn Type 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.

Använd funktionen i uriComponent Bicep.

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, uriComponentoch 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 standardvärdena från föregående exempel är:

Namn Type 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.

Använd funktionen i uriComponentToString Bicep.

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, uriComponentoch 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 standardvärdena från föregående exempel är:

Namn Type 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