Tekenreeksfuncties voor Bicep
In dit artikel worden de Bicep-functies beschreven voor het werken met tekenreeksen.
base64
base64(inputString)
Retourneert de base64-weergave van de invoertekenreeks.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
inputString | Ja | tekenreeks | De waarde die moet worden geretourneerd als een base64-weergave. |
Retourwaarde
Een tekenreeks met de base64-weergave.
Voorbeelden
In het volgende voorbeeld ziet u hoe u de base64-functie gebruikt.
param stringData string = 'one, two, three'
param jsonFormattedData string = '{\'one\': \'a\', \'two\': \'b\'}'
var base64String = base64(stringData)
var base64Object = base64(jsonFormattedData)
output base64Output string = base64String
output toStringOutput string = base64ToString(base64String)
output toJsonOutput object = base64ToJson(base64Object)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
base64Output | String | b25lLCB0d28sIHRocmVl |
toStringOutput | String | Een twee drie |
toJsonOutput | Object | {"one": "a", "two": "b"} |
base64ToJson
base64ToJson(base64Value)
Converteert een base64-weergave naar een JSON-object.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
base64Value | Ja | tekenreeks | De base64-weergave die moet worden geconverteerd naar een JSON-object. |
Retourwaarde
Een JSON-object.
Voorbeelden
In het volgende voorbeeld wordt de functie base64ToJson gebruikt om een base64-waarde te converteren:
param stringData string = 'one, two, three'
param jsonFormattedData string = '{\'one\': \'a\', \'two\': \'b\'}'
var base64String = base64(stringData)
var base64Object = base64(jsonFormattedData)
output base64Output string = base64String
output toStringOutput string = base64ToString(base64String)
output toJsonOutput object = base64ToJson(base64Object)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
base64Output | String | b25lLCB0d28sIHRocmVl |
toStringOutput | String | Een twee drie |
toJsonOutput | Object | {"one": "a", "two": "b"} |
base64ToString
base64ToString(base64Value)
Converteert een base64-weergave naar een tekenreeks.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
base64Value | Ja | tekenreeks | De base64-weergave die moet worden geconverteerd naar een tekenreeks. |
Retourwaarde
Een tekenreeks van de geconverteerde base64-waarde.
Voorbeelden
In het volgende voorbeeld wordt de functie base64ToString gebruikt om een base64-waarde te converteren:
param stringData string = 'one, two, three'
param jsonFormattedData string = '{\'one\': \'a\', \'two\': \'b\'}'
var base64String = base64(stringData)
var base64Object = base64(jsonFormattedData)
output base64Output string = base64String
output toStringOutput string = base64ToString(base64String)
output toJsonOutput object = base64ToJson(base64Object)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
base64Output | String | b25lLCB0d28sIHRocmVl |
toStringOutput | String | Een twee drie |
toJsonOutput | Object | {"one": "a", "two": "b"} |
concat
concat(arg1, arg2, arg3, ...)
Combineert meerdere tekenreekswaarden en retourneert de samengevoegde tekenreeks, of combineert meerdere matrices en retourneert de samengevoegde matrix. Gebruik tekenreeksinterpolatie in plaats van de functie om de concat()
leesbaarheid te verbeteren. In sommige gevallen, zoals het vervangen van tekenreeksen in tekenreeksen met meerdere regels, moet u mogelijk terugvallen op het gebruik van de concat()
functie of de replace()
functie.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
arg1 | Ja | tekenreeks of matrix | De eerste tekenreeks of matrix voor samenvoeging. |
meer argumenten | Nee | tekenreeks of matrix | Meer tekenreeksen of matrices in opeenvolgende volgorde voor samenvoeging. |
Deze functie kan een willekeurig aantal argumenten aannemen en kan tekenreeksen of matrices voor de parameters accepteren. U kunt echter niet zowel matrices als tekenreeksen opgeven voor parameters. Tekenreeksen worden alleen samengevoegd met andere tekenreeksen.
Retourwaarde
Een tekenreeks of matrix met samengevoegde waarden.
Voorbeelden
In het volgende voorbeeld ziet u een vergelijking tussen het gebruik van interpolatie en het gebruik van de concat()
functie. De twee uitvoer retourneert dezelfde waarde.
param prefix string = 'prefix'
output concatOutput string = concat(prefix, 'And', uniqueString(resourceGroup().id))
output interpolationOutput string = '${prefix}And${uniqueString(resourceGroup().id)}'
De uitvoer uit het voorgaande voorbeeld met de standaardwaarde is:
Name | Type | Weergegeven als |
---|---|---|
concatOutput | String | voorvoegselAnd5yj4yjf5mbg72 |
interpolationOutput | String | voorvoegselAnd5yj4yjf5mbg72 |
Interpolatie wordt momenteel niet ondersteund in tekenreeksen met meerdere regels. In het volgende voorbeeld ziet u een vergelijking tussen het gebruik van interpolatie en het gebruik van de concat()
functie.
var blocked = 'BLOCKED'
output concatOutput string = concat('''interpolation
is ''', blocked)
output interpolationOutput string = '''interpolation
is ${blocked}'''
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
concatOutput | String | interpolatie\nis BLOCKED |
interpolationOutput | String | interpolatie\nis ${blocked} |
bevat
contains(container, itemToFind)
Hiermee wordt gecontroleerd of een matrix een waarde bevat, een object een sleutel bevat of een tekenreeks een subtekenreeks bevat. De tekenreeksvergelijking is hoofdlettergevoelig. Wanneer u echter test of een object een sleutel bevat, is de vergelijking niet hoofdlettergevoelig.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
container | Ja | matrix, object of tekenreeks | De waarde die de te zoeken waarde bevat. |
itemToFind | Ja | tekenreeks of int | De te vinden waarde. |
Retourwaarde
True
als het item wordt gevonden; anders, False
.
Voorbeelden
In het volgende voorbeeld ziet u hoe u deze kunt gebruiken met verschillende typen:
param stringToTest string = 'OneTwoThree'
param objectToTest object = {
one: 'a'
two: 'b'
three: 'c'
}
param arrayToTest array = [
'one'
'two'
'three'
]
output stringTrue bool = contains(stringToTest, 'e')
output stringFalse bool = contains(stringToTest, 'z')
output objectTrue bool = contains(objectToTest, 'one')
output objectFalse bool = contains(objectToTest, 'a')
output arrayTrue bool = contains(arrayToTest, 'three')
output arrayFalse bool = contains(arrayToTest, 'four')
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
stringTrue | Bool | Waar |
stringFalse | Bool | Onwaar |
objectTrue | Bool | Waar |
objectFalse | Bool | Onwaar |
arrayTrue | Bool | Waar |
arrayFalse | Bool | Onwaar |
dataUri
dataUri(stringToConvert)
Converteert een waarde naar een gegevens-URI.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
stringToConvert | Ja | tekenreeks | De waarde die moet worden geconverteerd naar een gegevens-URI. |
Retourwaarde
Een tekenreeks die is opgemaakt als een gegevens-URI.
Voorbeelden
In het volgende voorbeeld wordt een waarde geconverteerd naar een gegevens-URI en wordt een gegevens-URI geconverteerd naar een tekenreeks:
param stringToTest string = 'Hello'
param dataFormattedString string = 'data:;base64,SGVsbG8sIFdvcmxkIQ=='
output dataUriOutput string = dataUri(stringToTest)
output toStringOutput string = dataUriToString(dataFormattedString)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
dataUriOutput | String | data:text/plain; charset=utf8; base64,SGVsbG8= |
toStringOutput | String | Hallo wereld! |
dataUriToString
dataUriToString(dataUriToConvert)
Converteert een gegevens-URI-opgemaakte waarde naar een tekenreeks.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
dataUriToConvert | Ja | tekenreeks | De gegevens-URI-waarde die moet worden geconverteerd. |
Retourwaarde
Een tekenreeks met de geconverteerde waarde.
Voorbeelden
In het volgende voorbeeld wordt een waarde geconverteerd naar een gegevens-URI en wordt een gegevens-URI geconverteerd naar een tekenreeks:
param stringToTest string = 'Hello'
param dataFormattedString string = 'data:;base64,SGVsbG8sIFdvcmxkIQ=='
output dataUriOutput string = dataUri(stringToTest)
output toStringOutput string = dataUriToString(dataFormattedString)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
dataUriOutput | String | data:text/plain; charset=utf8; base64,SGVsbG8= |
toStringOutput | String | Hallo wereld! |
empty
empty(itemToTest)
Bepaalt of een matrix, object of tekenreeks leeg of null is.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
itemToTest | Ja | matrix, object of tekenreeks | De waarde om te controleren of deze leeg of null is. |
Retourwaarde
Retourneert Waar als de waarde leeg of null is; anders onwaar.
Voorbeelden
In het volgende voorbeeld wordt gecontroleerd of een matrix, object en tekenreeks leeg zijn.
param testArray array = []
param testObject object = {}
param testString string = ''
param testNullString string?
output arrayEmpty bool = empty(testArray)
output objectEmpty bool = empty(testObject)
output stringEmpty bool = empty(testString)
output stringNull bool = empty(testNullString)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
arrayEmpty | Bool | Waar |
objectEmpty | Bool | Waar |
stringEmpty | Bool | Waar |
stringNull | Bool | Waar |
endsWith
endsWith(stringToSearch, stringToFind)
Bepaalt of een tekenreeks eindigt op een waarde. De vergelijking is niet hoofdlettergevoelig.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
stringToSearch | Ja | tekenreeks | De waarde die het item bevat dat moet worden gevonden. |
stringToFind | Ja | tekenreeks | De te vinden waarde. |
Retourwaarde
True
als het laatste teken of de laatste tekens van de tekenreeks overeenkomen met de waarde; anders, False
.
Voorbeelden
In het volgende voorbeeld ziet u hoe u de functies startsWith en endsWith gebruikt:
output startsTrue bool = startsWith('abcdef', 'ab')
output startsCapTrue bool = startsWith('abcdef', 'A')
output startsFalse bool = startsWith('abcdef', 'e')
output endsTrue bool = endsWith('abcdef', 'ef')
output endsCapTrue bool = endsWith('abcdef', 'F')
output endsFalse bool = endsWith('abcdef', 'e')
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
startsTrue | Bool | Waar |
startsCapTrue | Bool | Waar |
startsFalse | Bool | Onwaar |
endsTrue | Bool | Waar |
endsCapTrue | Bool | Waar |
endsFalse | Bool | Onwaar |
Eerste
first(arg1)
Retourneert het eerste teken van de tekenreeks of het eerste element van de matrix. Als er een lege tekenreeks wordt gegeven, resulteert de functie in een lege tekenreeks. In het geval van een lege matrix retourneert null
de functie .
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
arg1 | Ja | matrix of tekenreeks | De waarde voor het ophalen van het eerste element of teken. |
Retourwaarde
Een tekenreeks van het eerste teken of het type (tekenreeks, int, matrix of object) van het eerste element in een matrix.
Voorbeelden
In het volgende voorbeeld ziet u hoe u de eerste functie gebruikt met een matrix en tekenreeks.
param arrayToTest array = [
'one'
'two'
'three'
]
output arrayOutput string = first(arrayToTest)
output stringOutput string = first('One Two Three')
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
arrayOutput | String | één |
stringOutput | String | O |
indeling
format(formatString, arg1, arg2, ...)
Hiermee maakt u een opgemaakte tekenreeks op basis van invoerwaarden.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
formatString | Ja | tekenreeks | De tekenreeks voor samengestelde notatie. |
arg1 | Ja | tekenreeks, geheel getal of Booleaanse waarde | De waarde die moet worden opgenomen in de opgemaakte tekenreeks. |
aanvullende argumenten | Nee | tekenreeks, geheel getal of Booleaanse waarde | Aanvullende waarden die moeten worden opgenomen in de opgemaakte tekenreeks. |
Opmerkingen
Gebruik deze functie om een tekenreeks in uw Bicep-bestand op te maken. Er worden dezelfde opmaakopties gebruikt als de methode System.String.Format in .NET.
Voorbeelden
In het volgende voorbeeld ziet u hoe u de indelingsfunctie gebruikt.
param greeting string = 'Hello'
param name string = 'User'
param numberToFormat int = 8175133
param objectToFormat object = { prop: 'value' }
output formatTest string = format('{0}, {1}. Formatted number: {2:N0}', greeting, name, numberToFormat)
output formatObject string = format('objectToFormat: {0}', objectToFormat)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
formatTest | String | Hello, User. Formatted number: 8,175,133 |
formatObject | String | objectToFormat: {'prop':'value'} |
guid
guid(baseString, ...)
Hiermee maakt u een waarde in de notatie van een globaal unieke id op basis van de waarden die als parameters zijn opgegeven.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
baseString | Ja | tekenreeks | De waarde die wordt gebruikt in de hash-functie om de GUID te maken. |
aanvullende parameters indien nodig | Nee | tekenreeks | U kunt zoveel tekenreeksen toevoegen als nodig is om de waarde te maken die het uniekheidsniveau aangeeft. |
Opmerkingen
Deze functie is handig wanneer u een waarde moet maken in de indeling van een globally unique identifier. U geeft parameterwaarden op waarmee het bereik van uniekheid voor het resultaat wordt beperkt. U kunt opgeven of de naam uniek is voor abonnement, resourcegroep of implementatie.
De geretourneerde waarde is geen willekeurige tekenreeks, maar eerder het resultaat van een hash-functie op de parameters. De geretourneerde waarde is 36 tekens lang. Het is niet wereldwijd uniek. Als u een nieuwe GUID wilt maken die niet is gebaseerd op die hashwaarde van de parameters, gebruikt u de functie newGuid .
Notitie
De volgorde van de parameters is van invloed op de geretourneerde waarde. Voorbeeld:
guid('hello', 'world')
en guid('world', 'hello')
retourneert niet dezelfde waarde.
In de volgende voorbeelden ziet u hoe u guid gebruikt om een unieke waarde te maken voor veelgebruikte niveaus.
Uniek bereik voor abonnement
guid(subscription().subscriptionId)
Uniek bereik voor resourcegroep
guid(resourceGroup().id)
Uniek bereik voor implementatie voor een resourcegroep
guid(resourceGroup().id, deployment().name)
De guid
functie implementeert het algoritme van RFC 4122 §4.3. De oorspronkelijke bron is te vinden in GuidUtility met enkele wijzigingen.
Retourwaarde
Een tekenreeks met 36 tekens in de notatie van een globally unique identifier.
Voorbeelden
In het volgende voorbeeld worden resultaten van guid geretourneerd:
output guidPerSubscription string = guid(subscription().subscriptionId)
output guidPerResourceGroup string = guid(resourceGroup().id)
output guidPerDeployment string = guid(resourceGroup().id, deployment().name)
indexOf
indexOf(stringToSearch, stringToFind)
Retourneert de eerste positie van een waarde binnen een tekenreeks. De vergelijking is niet hoofdlettergevoelig.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
stringToSearch | Ja | tekenreeks | De waarde die het item bevat dat moet worden gevonden. |
stringToFind | Ja | tekenreeks | De te vinden waarde. |
Retourwaarde
Een geheel getal dat de positie van het item aangeeft dat moet worden gevonden. De waarde is gebaseerd op nul. Als het item niet wordt gevonden, wordt -1 geretourneerd.
Voorbeelden
In het volgende voorbeeld ziet u hoe u de functies indexOf en lastIndexOf gebruikt:
output firstT int = indexOf('test', 't')
output lastT int = lastIndexOf('test', 't')
output firstString int = indexOf('abcdef', 'CD')
output lastString int = lastIndexOf('abcdef', 'AB')
output notFound int = indexOf('abcdef', 'z')
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
firstT | Int | 0 |
lastT | Int | 3 |
firstString | Int | 2 |
lastString | Int | 0 |
notFound | Int | -1 |
join
join(inputArray, delimiter)
Hiermee wordt een tekenreeksmatrix samengevoegd tot één tekenreeks, gescheiden met behulp van een scheidingsteken.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
inputArray | Ja | Een matrix met tekenreeksen. | Een matrix met tekenreeksen die moeten worden samengevoegd. |
scheidingsteken | Ja | Het scheidingsteken dat moet worden gebruikt voor het splitsen van de tekenreeks. |
Retourwaarde
Een tekenreeks.
Voorbeelden
In het volgende voorbeeld wordt de invoertekenreeksmatrix samengevoegd tot tekenreeksen die zijn gescheiden door een komma of een puntkomma.
var arrayString = [
'one'
'two'
'three'
]
output firstOutput string = join(arrayString, ',')
output secondOutput string = join(arrayString, ';')
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
firstOutput | String | "één,twee,drie" |
secondOutput | String | "één; Twee; drie" |
Voor deze functie is Bicep CLI versie 0.8.X of hoger vereist.
json
json(arg1)
Converteert een geldige JSON-tekenreeks naar een JSON-gegevenstype. Zie de json-functie voor meer informatie.
Naamruimte: sys.
Laatste
last(arg1)
Retourneert het laatste teken van de tekenreeks of het laatste element van de matrix.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
arg1 | Ja | matrix of tekenreeks | De waarde voor het ophalen van het laatste element of teken. |
Retourwaarde
Een tekenreeks van het laatste teken of het type (tekenreeks, int, matrix of object) van het laatste element in een matrix.
Voorbeelden
In het volgende voorbeeld ziet u hoe u de laatste functie gebruikt met een matrix en tekenreeks.
param arrayToTest array = [
'one'
'two'
'three'
]
output arrayOutput string = last(arrayToTest)
output stringOutput string = last('One Two Three')
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
arrayOutput | String | drie |
stringOutput | String | e |
lastIndexOf
lastIndexOf(stringToSearch, stringToFind)
Retourneert de laatste positie van een waarde binnen een tekenreeks. De vergelijking is niet hoofdlettergevoelig.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
stringToSearch | Ja | tekenreeks | De waarde die het item bevat dat moet worden gevonden. |
stringToFind | Ja | tekenreeks | De te vinden waarde. |
Retourwaarde
Een geheel getal dat de laatste positie van het item aangeeft dat moet worden gevonden. De waarde is gebaseerd op nul. Als het item niet wordt gevonden, wordt -1 geretourneerd.
Voorbeelden
In het volgende voorbeeld ziet u hoe u de indexOf
functies en lastIndexOf
functies gebruikt:
output firstT int = indexOf('test', 't')
output lastT int = lastIndexOf('test', 't')
output firstString int = indexOf('abcdef', 'CD')
output lastString int = lastIndexOf('abcdef', 'AB')
output notFound int = indexOf('abcdef', 'z')
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
firstT | Int | 0 |
lastT | Int | 3 |
firstString | Int | 2 |
lastString | Int | 0 |
notFound | Int | -1 |
length
length(string)
Retourneert het aantal tekens in een tekenreeks, elementen in een matrix of eigenschappen op hoofdniveau in een object.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
arg1 | Ja | matrix, tekenreeks of object | De matrix die moet worden gebruikt voor het ophalen van het aantal elementen, de tekenreeks die moet worden gebruikt voor het ophalen van het aantal tekens of het object dat moet worden gebruikt voor het ophalen van het aantal eigenschappen op hoofdniveau. |
Retourwaarde
Een int.
Voorbeelden
In het volgende voorbeeld ziet u hoe u lengte gebruikt met een matrix en tekenreeks:
param arrayToTest array = [
'one'
'two'
'three'
]
param stringToTest string = 'One Two Three'
param objectToTest object = {
propA: 'one'
propB: 'two'
propC: 'three'
propD: {
'propD-1': 'sub'
'propD-2': 'sub'
}
}
output arrayLength int = length(arrayToTest)
output stringLength int = length(stringToTest)
output objectLength int = length(objectToTest)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
arrayLength | Int | 3 |
stringLength | Int | 13 |
objectLength | Int | 4 |
newGuid
newGuid()
Retourneert een waarde in de notatie van een globaal unieke id. Deze functie kan alleen worden gebruikt in de standaardwaarde voor een parameter.
Naamruimte: sys.
Opmerkingen
U kunt deze functie alleen gebruiken in een expressie voor de standaardwaarde van een parameter. Als u deze functie ergens anders in een Bicep-bestand gebruikt, wordt een fout geretourneerd. De functie is niet toegestaan in andere delen van het Bicep-bestand, omdat deze elke keer dat deze wordt aangeroepen een andere waarde retourneert. Het implementeren van hetzelfde Bicep-bestand met dezelfde parameters zou niet betrouwbaar dezelfde resultaten opleveren.
De functie newGuid verschilt van de guid-functie omdat deze geen parameters accepteert. Wanneer u guid aanroept met dezelfde parameters, wordt elke keer dezelfde id geretourneerd. Gebruik guid wanneer u op betrouwbare wijze dezelfde GUID voor een specifieke omgeving moet genereren. Gebruik newGuid wanneer u elke keer een andere id nodig hebt, zoals het implementeren van resources in een testomgeving.
De functie newGuid maakt gebruik van de GUID-structuur in .NET Framework om de globally unique identifier te genereren.
Als u de optie gebruikt om een eerdere geslaagde implementatie opnieuw te implementeren en de eerdere implementatie een parameter bevat die gebruikmaakt van newGuid, wordt de parameter niet opnieuw geëvalueerd. In plaats daarvan wordt de parameterwaarde van de eerdere implementatie automatisch opnieuw gebruikt in de rollback-implementatie.
In een testomgeving moet u resources die slechts korte tijd actief zijn, herhaaldelijk implementeren. In plaats van unieke namen te maken, kunt u newGuid met uniqueString gebruiken om unieke namen te maken.
Wees voorzichtig met het opnieuw implementeren van een Bicep-bestand dat afhankelijk is van de functie newGuid voor een standaardwaarde. Wanneer u de parameter opnieuw implementeert en geen waarde opgeeft, wordt de functie opnieuw geëvalueerd. Als u een bestaande resource wilt bijwerken in plaats van een nieuwe resource te maken, geeft u de parameterwaarde van de eerdere implementatie door.
Retourwaarde
Een tekenreeks met 36 tekens in de notatie van een globally unique identifier.
Voorbeelden
In het volgende voorbeeld ziet u een parameter met een nieuwe id.
param guidValue string = newGuid()
output guidOutput string = guidValue
De uitvoer van het vorige voorbeeld varieert voor elke implementatie, maar is vergelijkbaar met:
Name | Type | Weergegeven als |
---|---|---|
guidOutput | tekenreeks | b76a51fc-bd72-4a77-b9a2-3c29e7d2e551 |
In het volgende voorbeeld wordt de functie newGuid gebruikt om een unieke naam voor een opslagaccount te maken. Dit Bicep-bestand werkt mogelijk voor een testomgeving waarin het opslagaccount gedurende korte tijd bestaat en niet opnieuw wordt geïmplementeerd.
param guidValue string = newGuid()
var storageName = 'storage${uniqueString(guidValue)}'
resource myStorage 'Microsoft.Storage/storageAccounts@2023-04-01' = {
name: storageName
location: 'West US'
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
properties: {}
}
output nameOutput string = storageName
De uitvoer van het vorige voorbeeld varieert voor elke implementatie, maar is vergelijkbaar met:
Name | Type | Weergegeven als |
---|---|---|
nameOutput | tekenreeks | storagenziwvyru7uxie |
padLeft
padLeft(valueToPad, totalLength, paddingCharacter)
Retourneert een rechts uitgelijnde tekenreeks door tekens aan de linkerkant toe te voegen totdat de totale opgegeven lengte is bereikt.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
valueToPad | Ja | tekenreeks of int | De waarde om rechts uit te lijnen. |
totalLength | Ja | int | Het totale aantal tekens in de geretourneerde tekenreeks. |
paddingCharacter | Nee | enkel teken | Het teken dat moet worden gebruikt voor linkeropvulling totdat de totale lengte is bereikt. De standaardwaarde is een spatie. |
Als de oorspronkelijke tekenreeks langer is dan het aantal tekens dat moet worden opgevuld, worden er geen tekens toegevoegd.
Retourwaarde
Een tekenreeks met ten minste het aantal opgegeven tekens.
Voorbeelden
In het volgende voorbeeld ziet u hoe u de door de gebruiker verstrekte parameterwaarde kunt optellen door het nulteken toe te voegen totdat het totale aantal tekens is bereikt.
param testString string = '123'
output stringOutput string = padLeft(testString, 10, '0')
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
stringOutput | String | 0000000123 |
replace
replace(originalString, oldString, newString)
Retourneert een nieuwe tekenreeks met alle exemplaren van een tekenreeks die wordt vervangen door een andere tekenreeks.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
originalString | Ja | tekenreeks | De waarde met alle exemplaren van één tekenreeks vervangen door een andere tekenreeks. |
oldString | Ja | tekenreeks | De tekenreeks die moet worden verwijderd uit de oorspronkelijke tekenreeks. |
newString | Ja | tekenreeks | De tekenreeks die moet worden toegevoegd in plaats van de verwijderde tekenreeks. |
Retourwaarde
Een tekenreeks met de vervangen tekens.
Voorbeelden
In het volgende voorbeeld ziet u hoe u alle streepjes verwijdert uit de door de gebruiker opgegeven tekenreeks en hoe u een deel van de tekenreeks vervangt door een andere tekenreeks.
param testString string = '123-123-1234'
output firstOutput string = replace(testString, '-', '')
output secondOutput string = replace(testString, '1234', 'xxxx')
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
firstOutput | String | 1231231234 |
secondOutput | String | 123-123-xxxx |
skip
skip(originalValue, numberToSkip)
Retourneert een tekenreeks met alle tekens na het opgegeven aantal tekens of een matrix met alle elementen na het opgegeven aantal elementen.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
originalValue | Ja | matrix of tekenreeks | De matrix of tekenreeks die moet worden gebruikt voor het overslaan. |
numberToSkip | Ja | int | Het aantal elementen of tekens dat moet worden overgeslagen. Als deze waarde 0 of minder is, worden alle elementen of tekens in de waarde geretourneerd. Als deze groter is dan de lengte van de matrix of tekenreeks, wordt een lege matrix of tekenreeks geretourneerd. |
Retourwaarde
Een matrix of tekenreeks.
Voorbeelden
In het volgende voorbeeld wordt het opgegeven aantal elementen in de matrix en het opgegeven aantal tekens in een tekenreeks overgeslagen.
param testArray array = [
'one'
'two'
'three'
]
param elementsToSkip int = 2
param testString string = 'one two three'
param charactersToSkip int = 4
output arrayOutput array = skip(testArray, elementsToSkip)
output stringOutput string = skip(testString, charactersToSkip)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
arrayOutput | Matrix | ["drie"] |
stringOutput | String | twee drie |
split
split(inputString, delimiter)
Retourneert een matrix met tekenreeksen die de subtekenreeksen van de invoertekenreeks bevat die worden gescheiden door de opgegeven scheidingstekens.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
inputString | Ja | tekenreeks | De tekenreeks die moet worden gesplitst. |
scheidingsteken | Ja | tekenreeks of matrix met tekenreeksen | Het scheidingsteken dat moet worden gebruikt voor het splitsen van de tekenreeks. |
Retourwaarde
Een matrix met tekenreeksen.
Voorbeelden
In het volgende voorbeeld wordt de invoertekenreeks gesplitst met een komma en met een komma of een puntkomma.
param firstString string = 'one,two,three'
param secondString string = 'one;two,three'
var delimiters = [
','
';'
]
output firstOutput array = split(firstString, ',')
output secondOutput array = split(secondString, delimiters)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
firstOutput | Matrix | ["één", "twee", "drie"] |
secondOutput | Matrix | ["één", "twee", "drie"] |
startsWith
startsWith(stringToSearch, stringToFind)
Bepaalt of een tekenreeks begint met een waarde. De vergelijking is niet hoofdlettergevoelig.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
stringToSearch | Ja | tekenreeks | De waarde die het item bevat dat moet worden gevonden. |
stringToFind | Ja | tekenreeks | De te vinden waarde. |
Retourwaarde
True
als het eerste teken of de eerste tekens van de tekenreeks overeenkomen met de waarde; anders, False
.
Voorbeelden
In het volgende voorbeeld ziet u hoe u de functies startsWith en endsWith gebruikt:
output startsTrue bool = startsWith('abcdef', 'ab')
output startsCapTrue bool = startsWith('abcdef', 'A')
output startsFalse bool = startsWith('abcdef', 'e')
output endsTrue bool = endsWith('abcdef', 'ef')
output endsCapTrue bool = endsWith('abcdef', 'F')
output endsFalse bool = endsWith('abcdef', 'e')
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
startsTrue | Bool | Waar |
startsCapTrue | Bool | Waar |
startsFalse | Bool | Onwaar |
endsTrue | Bool | Waar |
endsCapTrue | Bool | Waar |
endsFalse | Bool | Onwaar |
tekenreeks
string(valueToConvert)
Converteert de opgegeven waarde naar een tekenreeks.
Tekenreeksen worden als zodanig geretourneerd. Andere typen worden geconverteerd naar hun equivalente JSON-weergave.
Als u een tekenreeks wilt converteren naar JSON, d.w.w.v. aanhalingsteken/escape, kunt u gebruiken substring(string([value]), 1, length(string([value]) - 2)
.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
valueToConvert | Ja | Alle | De waarde die moet worden geconverteerd naar een tekenreeks. Elk type waarde kan worden geconverteerd, inclusief objecten en matrices. |
Retourwaarde
Een tekenreeks van de geconverteerde waarde.
Voorbeelden
In het volgende voorbeeld ziet u hoe u verschillende typen waarden converteert naar tekenreeksen:
param testObject object = {
valueA: 10
valueB: 'Example Text'
}
param testArray array = [
'\'a\''
'"b"'
'\\c\\'
]
param testInt int = 5
param testString string = 'foo " \' \\'
output objectOutput string = string(testObject)
output arrayOutput string = string(testArray)
output intOutput string = string(testInt)
output stringOutput string = string(testString)
output stringEscapedOutput string = substring(string([testString]), 1, length(string([testString])) - 2)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
objectOutput | String | {"valueA":10,"valueB":"Example Text"} |
arrayOutput | String | ["'a'","\"b\"","\\c\\"] |
intOutput | String | 5 |
stringOutput | String | foo " ' \ |
stringEscapedOutput | String | "foo \" ' \\" |
Subtekenreeks
substring(stringToParse, startIndex, length)
Retourneert een subtekenreeks die begint bij de opgegeven tekenpositie en het opgegeven aantal tekens bevat.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
stringToParse | Ja | tekenreeks | De oorspronkelijke tekenreeks waaruit de subtekenreeks wordt geëxtraheerd. |
startIndex | Nee | int | De op nul gebaseerde begintekenpositie voor de subtekenreeks. |
length | Nee | int | Het aantal tekens voor de subtekenreeks. Moet verwijzen naar een locatie in de tekenreeks. Moet nul of groter zijn. Als u dit weglaat, wordt de rest van de tekenreeks vanaf de beginpositie geretourneerd. |
Retourwaarde
De subtekenreeks. Of een lege tekenreeks als de lengte nul is.
Opmerkingen
De functie mislukt wanneer de subtekenreeks zich buiten het einde van de tekenreeks bevindt of wanneer de lengte kleiner is dan nul. Het volgende voorbeeld mislukt met de fout 'De index- en lengteparameters moeten verwijzen naar een locatie in de tekenreeks. De indexparameter: '0', de lengteparameter: '11', de lengte van de tekenreeksparameter: '10'.
param inputString string = '1234567890'
var prefix = substring(inputString, 0, 11)
Voorbeelden
In het volgende voorbeeld wordt een subtekenreeks uit een parameter geëxtraheerd.
param testString string = 'one two three'
output substringOutput string = substring(testString, 4, 3)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
subtekenreeksOutput | String | twee |
take
take(originalValue, numberToTake)
Retourneert een tekenreeks met het opgegeven aantal tekens vanaf het begin van de tekenreeks of een matrix met het opgegeven aantal elementen vanaf het begin van de matrix.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
originalValue | Ja | matrix of tekenreeks | De matrix of tekenreeks waaruit de elementen moeten worden opgehaald. |
numberToTake | Ja | int | Het aantal elementen of tekens dat moet worden gebruikt. Als deze waarde 0 of minder is, wordt een lege matrix of tekenreeks geretourneerd. Als deze groter is dan de lengte van de opgegeven matrix of tekenreeks, worden alle elementen in de matrix of tekenreeks geretourneerd. |
Retourwaarde
Een matrix of tekenreeks.
Voorbeelden
In het volgende voorbeeld wordt het opgegeven aantal elementen uit de matrix en tekens uit een tekenreeks gebruikt.
param testArray array = [
'one'
'two'
'three'
]
param elementsToTake int = 2
param testString string = 'one two three'
param charactersToTake int = 2
output arrayOutput array = take(testArray, elementsToTake)
output stringOutput string = take(testString, charactersToTake)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
arrayOutput | Matrix | ["één", "twee"] |
stringOutput | String | op |
toLower
toLower(stringToChange)
Converteert de opgegeven tekenreeks naar kleine letters.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
stringToChange | Ja | tekenreeks | De waarde die moet worden geconverteerd naar kleine letters. |
Retourwaarde
De tekenreeks is geconverteerd naar kleine letters.
Voorbeelden
In het volgende voorbeeld wordt een parameterwaarde geconverteerd naar kleine letters en hoofdletters.
param testString string = 'One Two Three'
output toLowerOutput string = toLower(testString)
output toUpperOutput string = toUpper(testString)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
toLowerOutput | String | Een twee drie |
toUpperOutput | String | EEN TWEE DRIE |
toUpper
toUpper(stringToChange)
Converteert de opgegeven tekenreeks naar hoofdletters.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
stringToChange | Ja | tekenreeks | De waarde die moet worden geconverteerd naar hoofdletters. |
Retourwaarde
De tekenreeks is geconverteerd naar hoofdletters.
Voorbeelden
In het volgende voorbeeld wordt een parameterwaarde geconverteerd naar kleine letters en hoofdletters.
param testString string = 'One Two Three'
output toLowerOutput string = toLower(testString)
output toUpperOutput string = toUpper(testString)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
toLowerOutput | String | Een twee drie |
toUpperOutput | String | EEN TWEE DRIE |
trim
trim(stringToTrim)
Hiermee verwijdert u alle voorloop- en volgspaties uit de opgegeven tekenreeks.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
stringToTrim | Ja | tekenreeks | De waarde die u wilt bijsnijden. |
Retourwaarde
De tekenreeks zonder voorloop- en volgspaties.
Voorbeelden
In het volgende voorbeeld worden de spatietekens uit de parameter bijgeknipt.
param testString string = ' one two three '
output return string = trim(testString)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
enter | String | Een twee drie |
uniqueString
uniqueString(baseString, ...)
Hiermee maakt u een deterministische hashtekenreeks op basis van de waarden die zijn opgegeven als parameters.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
baseString | Ja | tekenreeks | De waarde die wordt gebruikt in de hash-functie om een unieke tekenreeks te maken. |
aanvullende parameters indien nodig | Nee | tekenreeks | U kunt zoveel tekenreeksen toevoegen als nodig is om de waarde te maken die het uniekheidsniveau aangeeft. |
Opmerkingen
Deze functie is handig wanneer u een unieke naam voor een resource moet maken. U geeft parameterwaarden op waarmee het bereik van uniekheid voor het resultaat wordt beperkt. U kunt opgeven of de naam uniek is voor abonnement, resourcegroep of implementatie.
De geretourneerde waarde is geen willekeurige tekenreeks, maar eerder het resultaat van een hash-functie. De geretourneerde waarde is 13 tekens lang. Het is niet wereldwijd uniek. U kunt de waarde combineren met een voorvoegsel van uw naamconventie om een betekenisvolle naam te maken. In het volgende voorbeeld ziet u de indeling van de geretourneerde waarde. De werkelijke waarde verschilt per opgegeven parameters.
tcvhiyu5h2o5o
In de volgende voorbeelden ziet u hoe u uniqueString gebruikt om een unieke waarde te maken voor veelgebruikte niveaus.
Uniek bereik voor abonnement
uniqueString(subscription().subscriptionId)
Uniek bereik voor resourcegroep
uniqueString(resourceGroup().id)
Uniek bereik voor implementatie voor een resourcegroep
uniqueString(resourceGroup().id, deployment().name)
In het volgende voorbeeld ziet u hoe u een unieke naam maakt voor een opslagaccount op basis van uw resourcegroep. Binnen de resourcegroep is de naam niet uniek als deze op dezelfde manier wordt samengesteld.
resource mystorage 'Microsoft.Storage/storageAccounts@2023-04-01' = {
name: 'storage${uniqueString(resourceGroup().id)}'
...
}
Als u telkens wanneer u een Bicep-bestand implementeert een nieuwe unieke naam moet maken en u niet van plan bent om de resource bij te werken, kunt u de utcNow-functie gebruiken met uniqueString. U kunt deze benadering gebruiken in een testomgeving. Zie utcNow voor een voorbeeld. Let op: de functie utcNow kan alleen worden gebruikt binnen een expressie voor de standaardwaarde van een parameter.
Retourwaarde
Een tekenreeks met 13 tekens.
Voorbeelden
In het volgende voorbeeld worden resultaten van uniquestring geretourneerd:
output uniqueRG string = uniqueString(resourceGroup().id)
output uniqueDeploy string = uniqueString(resourceGroup().id, deployment().name)
uri
uri(baseUri, relativeUri)
Hiermee maakt u een absolute URI door de baseUri en de relativeUri-tekenreeks te combineren.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
baseUri | Ja | tekenreeks | De basis-URI-tekenreeks. Let op het gedrag met betrekking tot de verwerking van de afsluitende slash ('/'), zoals beschreven in deze tabel. |
relativeUri | Ja | tekenreeks | De relatieve URI-tekenreeks die moet worden toegevoegd aan de basis-URI-tekenreeks. |
Als
baseUri
het eindigt met een afsluitende slash, wordt het resultaat gewoonbaseUri
gevolgd doorrelativeUri
. AlsrelativeUri
ook begint met een voorloopslash, worden de afsluitende slash en de voorloopslash gecombineerd tot één.Als
baseUri
dit niet eindigt op een afsluitende slash, gebeurt er een van de twee dingen.Als
baseUri
er helemaal geen slashes zijn (afgezien van de "//" aan de voorkant) wordt het resultaat gewoonbaseUri
gevolgd doorrelativeUri
.Als
baseUri
er enkele slashes zijn, maar niet eindigt op een slash, wordt alles van de laatste slash verwijderdbaseUri
en wordtbaseUri
het resultaat gevolgd doorrelativeUri
.
Hieronder volgen een aantal voorbeelden:
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
Voor volledige details worden de baseUri
en relativeUri
parameters omgezet zoals opgegeven in RFC 3986, sectie 5.
Retourwaarde
Een tekenreeks die de absolute URI voor de basis- en relatieve waarden vertegenwoordigt.
Voorbeelden
In het volgende voorbeeld ziet u hoe u uri, uriComponent en uriComponentToString gebruikt:
var uriFormat = uri('http://contoso.com/resources/', 'nested/azuredeploy.json')
var uriEncoded = uriComponent(uriFormat)
output uriOutput string = uriFormat
output componentOutput string = uriEncoded
output toStringOutput string = uriComponentToString(uriEncoded)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
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)
Codeert een URI.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
stringToEncode | Ja | tekenreeks | De waarde die moet worden gecodeerd. |
Retourwaarde
Een tekenreeks van de gecodeerde URI-waarde.
Voorbeelden
In het volgende voorbeeld ziet u hoe u uri, uriComponent en uriComponentToString gebruikt:
var uriFormat = uri('http://contoso.com/resources/', 'nested/azuredeploy.json')
var uriEncoded = uriComponent(uriFormat)
output uriOutput string = uriFormat
output componentOutput string = uriEncoded
output toStringOutput string = uriComponentToString(uriEncoded)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
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)
Retourneert een tekenreeks van een URI-gecodeerde waarde.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
uriEncodedString | Ja | tekenreeks | De gecodeerde URI-waarde die moet worden geconverteerd naar een tekenreeks. |
Retourwaarde
Een gedecodeerde tekenreeks met URI-gecodeerde waarde.
Voorbeelden
In het volgende voorbeeld ziet u hoe u uri, uriComponent en uriComponentToString gebruikt:
var uriFormat = uri('http://contoso.com/resources/', 'nested/azuredeploy.json')
var uriEncoded = uriComponent(uriFormat)
output uriOutput string = uriFormat
output componentOutput string = uriEncoded
output toStringOutput string = uriComponentToString(uriEncoded)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
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 |
Volgende stappen
- Zie De structuur en syntaxis van Bicep-bestanden begrijpen voor een beschrijving van de secties in een Bicep-bestand.
- Zie Iteratieve lussen in Bicep om een opgegeven aantal keren te herhalen wanneer u een type resource maakt.
- Zie Resources implementeren met Bicep en Azure PowerShell om te zien hoe u het Bicep-bestand implementeert dat u hebt gemaakt.