Delen via


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 nullde 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 gewoon baseUri gevolgd door relativeUri. Als relativeUri 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 gewoon baseUri gevolgd door relativeUri.

    • Als baseUri er enkele slashes zijn, maar niet eindigt op een slash, wordt alles van de laatste slash verwijderd baseUri en wordt baseUri het resultaat gevolgd door relativeUri.

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