Funkcje ciągów dla szablonów usługi ARM
Usługa Resource Manager udostępnia następujące funkcje do pracy z ciągami w szablonie usługi Azure Resource Manager (szablon usługi ARM):
- base64
- base64ToJson
- base64ToString
- concat
- Contains
- dataUri
- dataUriToString
- empty
- endsWith
- pierwszy
- format
- guid
- indexOf
- join
- JSON
- ostatni
- lastIndexOf
- length
- newGuid
- padLeft
- replace
- pominąć
- split
- startsWith
- string
- Podciąg
- brać
- toLower
- toUpper
- przycinać
- uniqueString
- Uri
- uriComponent
- uriComponentToString
Napiwek
Zalecamy Bicep , ponieważ oferuje te same możliwości co szablony usługi ARM, a składnia jest łatwiejsza w użyciu. Aby dowiedzieć się więcej, zobacz funkcje ciągów .
base64
base64(inputString)
Zwraca reprezentację base64 ciągu wejściowego.
W Bicep użyj funkcji base64 .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
inputString | Tak | string | Wartość, która ma być zwracana jako reprezentacja base64. |
Wartość zwracana
Ciąg zawierający reprezentację base64.
Przykłady
W poniższym przykładzie pokazano, jak używać base64
funkcji.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"stringData": {
"type": "string",
"defaultValue": "one, two, three"
},
"jsonFormattedData": {
"type": "string",
"defaultValue": "{'one': 'a', 'two': 'b'}"
}
},
"variables": {
"base64String": "[base64(parameters('stringData'))]",
"base64Object": "[base64(parameters('jsonFormattedData'))]"
},
"resources": [
],
"outputs": {
"base64Output": {
"type": "string",
"value": "[variables('base64String')]"
},
"toStringOutput": {
"type": "string",
"value": "[base64ToString(variables('base64String'))]"
},
"toJsonOutput": {
"type": "object",
"value": "[base64ToJson(variables('base64Object'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
base64Output | String | b25lLCB0d28sIHRocmVl |
toStringOutput | String | Raz dwa trzy |
toJsonOutput | Objekt | {"one": "a", "two": "b"} |
base64ToJson
base64ToJson(base64Value)
Konwertuje reprezentację base64 na obiekt JSON.
W pliku Bicep użyj funkcji base64ToJson .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
base64Value | Tak | string | Reprezentacja base64 do konwersji na obiekt JSON. |
Wartość zwracana
Obiekt JSON.
Przykłady
W poniższym przykładzie użyto base64ToJson
funkcji do przekonwertowania wartości base64:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"stringData": {
"type": "string",
"defaultValue": "one, two, three"
},
"jsonFormattedData": {
"type": "string",
"defaultValue": "{'one': 'a', 'two': 'b'}"
}
},
"variables": {
"base64String": "[base64(parameters('stringData'))]",
"base64Object": "[base64(parameters('jsonFormattedData'))]"
},
"resources": [
],
"outputs": {
"base64Output": {
"type": "string",
"value": "[variables('base64String')]"
},
"toStringOutput": {
"type": "string",
"value": "[base64ToString(variables('base64String'))]"
},
"toJsonOutput": {
"type": "object",
"value": "[base64ToJson(variables('base64Object'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
base64Output | String | b25lLCB0d28sIHRocmVl |
toStringOutput | String | Raz dwa trzy |
toJsonOutput | Objekt | {"one": "a", "two": "b"} |
base64ToString
base64ToString(base64Value)
Konwertuje reprezentację base64 na ciąg.
W Bicep użyj funkcji base64ToString .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
base64Value | Tak | string | Reprezentacja base64 do konwersji na ciąg. |
Wartość zwracana
Ciąg przekonwertowanej wartości base64.
Przykłady
W poniższym przykładzie użyto base64ToString
funkcji do przekonwertowania wartości base64:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"stringData": {
"type": "string",
"defaultValue": "one, two, three"
},
"jsonFormattedData": {
"type": "string",
"defaultValue": "{'one': 'a', 'two': 'b'}"
}
},
"variables": {
"base64String": "[base64(parameters('stringData'))]",
"base64Object": "[base64(parameters('jsonFormattedData'))]"
},
"resources": [
],
"outputs": {
"base64Output": {
"type": "string",
"value": "[variables('base64String')]"
},
"toStringOutput": {
"type": "string",
"value": "[base64ToString(variables('base64String'))]"
},
"toJsonOutput": {
"type": "object",
"value": "[base64ToJson(variables('base64Object'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
base64Output | String | b25lLCB0d28sIHRocmVl |
toStringOutput | String | Raz dwa trzy |
toJsonOutput | Objekt | {"one": "a", "two": "b"} |
concat
concat(arg1, arg2, arg3, ...)
Łączy wiele wartości ciągu i zwraca połączony ciąg lub łączy wiele tablic i zwraca połączoną tablicę.
W Bicep użyj interpolacji ciągów concat()
zamiast funkcji, aby zwiększyć czytelność. Jednak w niektórych przypadkach, takich jak zamiana ciągów w ciągach wielowierszowych, może być konieczne powrót przy użyciu concat()
funkcji lub replace()
funkcji.
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
arg1 | Tak | ciąg lub tablica | Pierwszy ciąg lub tablica do łączenia. |
więcej argumentów | Nie. | ciąg lub tablica | Więcej ciągów lub tablic w kolejności sekwencyjnej na potrzeby łączenia. |
Ta funkcja może przyjmować dowolną liczbę argumentów i może akceptować ciągi lub tablice dla parametrów. Nie można jednak podać zarówno tablic, jak i ciągów dla parametrów. Ciągi są łączone tylko z innymi ciągami.
Wartość zwracana
Ciąg lub tablica połączonych wartości.
Przykłady
W poniższym przykładzie pokazano, jak połączyć dwie wartości ciągu i zwrócić połączony ciąg.
{
"$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))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
concatOutput | String | prefiks-5yj4yjf5mbg72 |
W poniższym przykładzie pokazano, jak połączyć dwie tablice.
{
"$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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
return | Tablica | ["1-1", "1-2", "1-3", "2-1", "2-2", "2-3"] |
zawiera
contains(container, itemToFind)
Sprawdza, czy tablica zawiera wartość, obiekt zawiera klucz, czy ciąg zawiera podciąg. Porównanie ciągów uwzględnia wielkość liter. Jednak podczas testowania, czy obiekt zawiera klucz, porównanie jest bez uwzględniania wielkości liter.
W pliku Bicep użyj funkcji contains .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
kontener | Tak | tablica, obiekt lub ciąg | Wartość zawierająca wartość do znalezienia. |
itemToFind | Tak | ciąg lub int | Wartość do znalezienia. |
Wartość zwracana
True
jeśli element zostanie znaleziony; w przeciwnym razie, False
.
Przykłady
W poniższym przykładzie pokazano, jak używać elementów z różnymi typami:
{
"$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')]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
stringTrue | Bool | Prawda |
stringFalse | Bool | Fałsz |
objectTrue | Bool | Prawda |
objectFalse | Bool | Fałsz |
arrayTrue | Bool | Prawda |
arrayFalse | Bool | Fałsz |
dataUri
dataUri(stringToConvert)
Konwertuje wartość na identyfikator URI danych.
W Bicep użyj funkcji dataUri .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
stringToConvert | Tak | string | Wartość, która ma być konwertowana na identyfikator URI danych. |
Wartość zwracana
Ciąg sformatowany jako identyfikator URI danych.
Przykłady
Poniższy przykład konwertuje wartość na identyfikator URI danych i konwertuje identyfikator URI danych na ciąg.
{
"$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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
dataUriOutput | String | data:text/plain; charset=utf8; base64,SGVsbG8= |
toStringOutput | String | Hello, World! |
dataUriToString
dataUriToString(dataUriToConvert)
Konwertuje sformatowaną wartość identyfikatora URI danych na ciąg.
W Bicep użyj funkcji dataUriToString .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
dataUriToConvert | Tak | string | Wartość identyfikatora URI danych do konwersji. |
Wartość zwracana
Ciąg zawierający przekonwertowaną wartość.
Przykłady
Poniższy przykładowy szablon konwertuje wartość na identyfikator URI danych i konwertuje identyfikator URI danych na ciąg.
{
"$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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
dataUriOutput | String | data:text/plain; charset=utf8; base64,SGVsbG8= |
toStringOutput | String | Hello, World! |
empty
empty(itemToTest)
Określa, czy tablica, obiekt lub ciąg jest pusta.
W Bicep użyj funkcji empty .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
itemToTest | Tak | tablica, obiekt lub ciąg | Wartość do sprawdzenia, czy jest pusta. |
Wartość zwracana
Zwraca True
wartość, jeśli wartość jest pusta; w przeciwnym razie False
.
Przykłady
Poniższy przykład sprawdza, czy tablica, obiekt i ciąg są puste.
{
"$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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
arrayEmpty | Bool | Prawda |
objectEmpty | Bool | Prawda |
stringEmpty | Bool | Prawda |
endsWith
endsWith(stringToSearch, stringToFind)
Określa, czy ciąg kończy się wartością. Porównanie jest bez uwzględniania wielkości liter.
W Bicep użyj funkcji endsWith .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
stringToSearch | Tak | string | Wartość zawierająca element do znalezienia. |
stringToFind | Tak | string | Wartość do znalezienia. |
Wartość zwracana
True
jeśli ostatni znak lub znaki ciągu są zgodne z wartością; w przeciwnym razie, False
.
Przykłady
W poniższym przykładzie pokazano, jak używać startsWith
funkcji i 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')]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
startsTrue | Bool | Prawda |
startsCapTrue | Bool | Prawda |
startsFalse | Bool | Fałsz |
endsTrue | Bool | Prawda |
endsCapTrue | Bool | Prawda |
endsFalse | Bool | Fałsz |
pierwszy
first(arg1)
Zwraca pierwszy znak ciągu lub pierwszy element tablicy. Jeśli zostanie podany pusty ciąg, funkcja spowoduje utworzenie pustego ciągu. W przypadku pustej tablicy funkcja zwraca wartość null
.
W Bicep użyj pierwszej funkcji.
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
arg1 | Tak | tablica lub ciąg | Wartość do pobrania pierwszego elementu lub znaku. |
Wartość zwracana
Ciąg pierwszego znaku lub typ (ciąg, int, tablica lub obiekt) pierwszego elementu w tablicy.
Przykłady
W poniższym przykładzie pokazano, jak używać pierwszej funkcji z tablicą i ciągiem.
{
"$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')]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
arrayOutput | String | jeden |
stringOutput | String | O |
format
format(formatString, arg1, arg2, ...)
Tworzy sformatowany ciąg na podstawie wartości wejściowych.
W pliku Bicep użyj funkcji formatowania .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
formatString | Tak | string | Ciąg formatu złożonego. |
arg1 | Tak | ciąg, liczba całkowita lub wartość logiczna | Wartość do uwzględnienia w sformatowanych ciągach. |
więcej argumentów | Nie. | ciąg, liczba całkowita lub wartość logiczna | Więcej wartości do uwzględnienia w sformatowanych ciągach. |
Uwagi
Ta funkcja służy do formatowania ciągu w szablonie. Używa tych samych opcji formatowania co metoda System.String.Format na platformie .NET.
Przykłady
W poniższym przykładzie pokazano, jak używać funkcji formatowania.
{
"$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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
formatTest | String | Witaj, Użytkownik. Sformatowana liczba: 8,175,133 |
Identyfikator GUID
guid(baseString, ...)
Tworzy wartość w formacie globalnie unikatowego identyfikatora na podstawie wartości podanych jako parametry.
W pliku Bicep użyj funkcji guid .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
baseString | Tak | string | Wartość użyta w funkcji skrótu do utworzenia identyfikatora GUID. |
więcej parametrów zgodnie z potrzebami | Nie. | string | Możesz dodać dowolną liczbę ciągów, aby utworzyć wartość określającą poziom unikatowości. |
Uwagi
Ta funkcja jest przydatna, gdy musisz utworzyć wartość w formacie globalnie unikatowego identyfikatora. Należy podać wartości parametrów, które ograniczają zakres unikatowości dla wyniku. Możesz określić, czy nazwa jest unikatowa dla subskrypcji, grupy zasobów lub wdrożenia.
Zwracana wartość nie jest losowym ciągiem, ale raczej wynikiem funkcji skrótu parametrów. Zwracana wartość ma długość 36 znaków. Nie jest ona globalnie unikatowa. Aby utworzyć nowy identyfikator GUID, który nie jest oparty na tej wartości skrótu parametrów, użyj nowej funkcjiGuid .
W poniższych przykładach pokazano, jak za pomocą identyfikatora GUID utworzyć unikatową wartość dla często używanych poziomów.
Unikatowy zakres subskrypcji
"[guid(subscription().subscriptionId)]"
Unikatowy zakres dla grupy zasobów
"[guid(resourceGroup().id)]"
Unikatowy zakres wdrożenia dla grupy zasobów
"[guid(resourceGroup().id, deployment().name)]"
Funkcja guid
implementuje algorytm z RFC 4122 §4.3. Oryginalne źródło można znaleźć w guidUtility z pewnymi modyfikacjami.
Wartość zwracana
Ciąg zawierający 36 znaków w formacie globalnie unikatowego identyfikatora.
Przykłady
Poniższy przykład zwraca wyniki z elementu 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)
Zwraca pierwszą pozycję wartości w ciągu. Porównanie jest bez uwzględniania wielkości liter.
W pliku Bicep użyj funkcji indexOf .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
stringToSearch | Tak | string | Wartość zawierająca element do znalezienia. |
stringToFind | Tak | string | Wartość do znalezienia. |
Wartość zwracana
Liczba całkowita reprezentująca położenie elementu do znalezienia. Wartość jest oparta na zerach. Jeśli element nie zostanie znaleziony, zostanie zwrócony -1.
Przykłady
W poniższym przykładzie pokazano, jak używać indexOf
funkcji i 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')]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
firstT | Int | 0 |
lastT | Int | 3 |
firstString | Int | 2 |
lastString | Int | 0 |
notFound | Int | -1 |
join
join(inputArray, delimiter)
Łączy tablicę ciągów w jeden ciąg oddzielony za pomocą ogranicznika.
W aplikacji Bicep użyj funkcji join .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
inputArray | Tak | tablica ciągów | Tablica ciągów do sprzężenia. |
Ogranicznik | Tak | Ogranicznik używany do dzielenia ciągu. |
Wartość zwracana
Ciąg.
Przykłady
Poniższy przykład łączy tablicę ciągów wejściowych z ciągami rozdzielanymi przy użyciu różnych ograniczników.
{
"$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'), ';')]"
}
}
}
Dane wyjściowe z poprzedniego przykładu to:
Nazwisko | Typ | Wartość |
---|---|---|
firstOutput | String | "jeden,dwa,trzy" |
secondOutput | String | "jeden; Dwa; trzy" |
json
json(arg1)
Konwertuje prawidłowy ciąg JSON na typ danych JSON. Aby uzyskać więcej informacji, zobacz funkcja json.
W pliku Bicep użyj funkcji json .
ostatni
last(arg1)
Zwraca ostatni znak ciągu lub ostatni element tablicy.
W Bicep użyj ostatniej funkcji.
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
arg1 | Tak | tablica lub ciąg | Wartość do pobrania ostatniego elementu lub znaku. |
Wartość zwracana
Ciąg ostatniego znaku lub typ (ciąg, int, tablica lub obiekt) ostatniego elementu w tablicy.
Przykłady
W poniższym przykładzie pokazano, jak używać last
funkcji z tablicą i ciągiem.
{
"$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')]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
arrayOutput | String | trzy |
stringOutput | String | e |
lastIndexOf
lastIndexOf(stringToSearch, stringToFind)
Zwraca ostatnią pozycję wartości w ciągu. Porównanie jest bez uwzględniania wielkości liter.
W pliku Bicep użyj funkcji lastIndexOf .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
stringToSearch | Tak | string | Wartość zawierająca element do znalezienia. |
stringToFind | Tak | string | Wartość do znalezienia. |
Wartość zwracana
Liczba całkowita reprezentująca ostatnią pozycję elementu do znalezienia. Wartość jest oparta na zerach. Jeśli element nie zostanie znaleziony, zostanie zwrócony -1.
Przykłady
W poniższym przykładzie pokazano, jak używać indexOf
funkcji i 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')]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
firstT | Int | 0 |
lastT | Int | 3 |
firstString | Int | 2 |
lastString | Int | 0 |
notFound | Int | -1 |
length
length(string)
Zwraca liczbę znaków w ciągu, elementy w tablicy lub właściwości na poziomie głównym w obiekcie.
W Bicep użyj funkcji length .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
arg1 | Tak | tablica, ciąg lub obiekt | Tablica do użycia do pobierania liczby elementów, ciągu do użycia do pobierania liczby znaków lub obiektu do pobrania liczby właściwości na poziomie głównym. |
Wartość zwracana
Int.
Przykłady
W poniższym przykładzie pokazano, jak używać length
funkcji z tablicą i ciągiem:
{
"$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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
arrayLength | Int | 3 |
stringLength | Int | 13 |
objectLength | Int | 100 |
newGuid
newGuid()
Zwraca wartość w formacie globalnie unikatowego identyfikatora. Tej funkcji można używać tylko w wartości domyślnej parametru.
W pliku Bicep użyj nowej funkcjiGuid .
Uwagi
Tej funkcji można używać tylko w wyrażeniu dla wartości domyślnej parametru. Użycie tej funkcji w dowolnym miejscu w szablonie zwraca błąd. Funkcja nie jest dozwolona w innych częściach szablonu, ponieważ zwraca inną wartość za każdym razem, gdy jest wywoływana. Wdrożenie tego samego szablonu przy użyciu tych samych parametrów nie spowodowałoby niezawodnego wygenerowania tych samych wyników.
Funkcja newGuid różni się od funkcji guid , ponieważ nie bierze żadnych parametrów. Wywołanie identyfikatora GUID za pomocą tego samego parametru powoduje zwrócenie tego samego identyfikatora za każdym razem. Użyj identyfikatora GUID, jeśli musisz niezawodnie wygenerować ten sam identyfikator GUID dla określonego środowiska. Użyj polecenia newGuid, gdy za każdym razem potrzebujesz innego identyfikatora, takiego jak wdrażanie zasobów w środowisku testowym.
Nowa funkcjaGuid używa struktury Guid w programie .NET Framework do generowania unikatowego identyfikatora globalnego.
Jeśli używasz opcji ponownego wdrażania wcześniejszego pomyślnego wdrożenia, a wcześniejsze wdrożenie zawiera parametr używający nowegoGuidu, parametr nie jest ponownie szacowany. Zamiast tego wartość parametru z wcześniejszego wdrożenia jest automatycznie ponownie wykorzystywana we wdrożeniu wycofywania.
W środowisku testowym może być konieczne wielokrotne wdrażanie zasobów, które działają tylko przez krótki czas. Zamiast tworzyć unikatowe nazwy, możesz użyć polecenia newGuid z unikatowym ciągiem w celu utworzenia unikatowych nazw.
Należy zachować ostrożność podczas ponownego wdrażania szablonu, który opiera się na nowej funkcjiGuid dla wartości domyślnej. Po ponownym wdróżeniu i nie podaniu wartości parametru funkcja zostanie ponownie zceniona. Jeśli chcesz zaktualizować istniejący zasób, a nie utworzyć nowego, przekaż wartość parametru z wcześniejszego wdrożenia.
Wartość zwracana
Ciąg zawierający 36 znaków w formacie globalnie unikatowego identyfikatora.
Przykłady
W poniższym przykładzie przedstawiono parametr z nowym identyfikatorem.
{
"$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')]"
}
}
}
Dane wyjściowe z poprzedniego przykładu różnią się w zależności od wdrożenia, ale będą podobne do następujących:
Nazwisko | Typ | Wartość |
---|---|---|
guidOutput | string | b76a51fc-bd72-4a77-b9a2-3c29e7d2e551 |
W poniższym przykładzie użyto newGuid
funkcji do utworzenia unikatowej nazwy konta magazynu. Ten szablon może działać w środowisku testowym, w którym konto magazynu istnieje przez krótki czas i nie jest wdrażane ponownie.
{
"$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')]"
}
}
}
Dane wyjściowe z poprzedniego przykładu różnią się w zależności od wdrożenia, ale będą podobne do następujących:
Nazwisko | Typ | Wartość |
---|---|---|
nameOutput | string | storagenziwvyru7uxie |
padLeft
padLeft(valueToPad, totalLength, paddingCharacter)
Zwraca ciąg wyrównany do prawej, dodając znaki do lewej do momentu osiągnięcia całkowitej określonej długości.
W Bicep użyj funkcji padLeft .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
valueToPad | Tak | ciąg lub int | Wartość do wyrównania do prawej. |
totalLength | Tak | int | Całkowita liczba znaków w zwracanym ciągu. |
paddingCharacter | Nie. | pojedynczy znak | Znak do użycia do wypełnienia po lewej stronie do momentu osiągnięcia całkowitej długości. Wartość domyślna to spacja. |
Jeśli oryginalny ciąg jest dłuższy niż liczba znaków do wypełnienia, nie są dodawane żadne znaki.
Wartość zwracana
Ciąg z co najmniej liczbą określonych znaków.
Przykłady
W poniższym przykładzie pokazano, jak wypełnić wartość parametru podanego przez użytkownika przez dodanie znaku zero, dopóki nie osiągnie całkowitej liczby znaków.
{
"$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')]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
stringOutput | String | 0000000123 |
replace
replace(originalString, oldString, newString)
Zwraca nowy ciąg ze wszystkimi wystąpieniami jednego ciągu zastąpionego przez inny ciąg.
W pliku Bicep użyj funkcji replace .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
originalString | Tak | string | Wartość zawierająca wszystkie wystąpienia jednego ciągu zastąpione przez inny ciąg. |
oldString | Tak | string | Ciąg, który ma zostać usunięty z oryginalnego ciągu. |
newString | Tak | string | Ciąg do dodania zamiast usuniętego ciągu. |
Wartość zwracana
Ciąg z zastąpionymi znakami.
Przykłady
W poniższym przykładzie pokazano, jak usunąć wszystkie kreski z ciągu dostarczonego przez użytkownika i jak zastąpić część ciągu innym ciągiem.
{
"$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')]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
firstOutput | String | 1231231234 |
secondOutput | String | 123-123-xxxx |
skip
skip(originalValue, numberToSkip)
Zwraca ciąg ze wszystkimi znakami po określonej liczbie znaków lub tablicą ze wszystkimi elementami po określonej liczbie elementów.
W Bicep użyj funkcji skip .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
originalValue | Tak | tablica lub ciąg | Tablica lub ciąg do użycia do pomijania. |
numberToSkip | Tak | int | Liczba elementów lub znaków do pominięcia. Jeśli ta wartość jest 0 lub mniejsza, zwracane są wszystkie elementy lub znaki w wartości. Jeśli jest on większy niż długość tablicy lub ciągu, zwracana jest pusta tablica lub ciąg. |
Wartość zwracana
Tablica lub ciąg.
Przykłady
Poniższy przykład pomija określoną liczbę elementów w tablicy i określoną liczbę znaków w ciągu.
{
"$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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
arrayOutput | Tablica | ["trzy"] |
stringOutput | String | dwa trzy |
split
split(inputString, delimiter)
Zwraca tablicę ciągów, która zawiera podciągi ciągu wejściowego rozdzielanego przez określone ograniczniki.
W Bicep użyj funkcji split .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
inputString | Tak | string | Ciąg do podzielenia. |
Ogranicznik | Tak | ciąg lub tablica ciągów | Ogranicznik używany do dzielenia ciągu. |
Wartość zwracana
Tablica ciągów.
Przykłady
Poniższy przykład dzieli ciąg wejściowy z przecinkiem i przecinkiem lub średnikiem.
{
"$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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
firstOutput | Tablica | ["jeden", "dwa", "trzy"] |
secondOutput | Tablica | ["jeden", "dwa", "trzy"] |
startsWith
startsWith(stringToSearch, stringToFind)
Określa, czy ciąg zaczyna się od wartości. Porównanie jest bez uwzględniania wielkości liter.
W Bicep użyj funkcji startsWith .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
stringToSearch | Tak | string | Wartość zawierająca element do znalezienia. |
stringToFind | Tak | string | Wartość do znalezienia. |
Wartość zwracana
True
jeśli pierwszy znak lub znaki ciągu są zgodne z wartością; w przeciwnym razie, False
.
Przykłady
W poniższym przykładzie pokazano, jak używać startsWith
funkcji i 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')]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
startsTrue | Bool | Prawda |
startsCapTrue | Bool | Prawda |
startsFalse | Bool | Fałsz |
endsTrue | Bool | Prawda |
endsCapTrue | Bool | Prawda |
endsFalse | Bool | Fałsz |
string
string(valueToConvert)
Konwertuje określoną wartość na ciąg.
W Bicep użyj funkcji string .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
valueToConvert | Tak | Dowolne | Wartość, która ma być konwertowana na ciąg. Można przekonwertować dowolny typ wartości, w tym obiekty i tablice. |
Wartość zwracana
Ciąg przekonwertowanej wartości.
Przykłady
W poniższym przykładzie pokazano, jak przekonwertować różne typy wartości na ciągi.
{
"$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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
objectOutput | String | {"valueA":10,"valueB":"Example Text"} |
arrayOutput | String | ["a","b","c"] |
intOutput | String | 5 |
Podciąg
substring(stringToParse, startIndex, length)
Zwraca podciąg rozpoczynający się od określonej pozycji znaku i zawiera określoną liczbę znaków.
W Bicep użyj funkcji podciągów.
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
stringToParse | Tak | string | Oryginalny ciąg, z którego wyodrębniono podciąg. |
startIndex | Nie. | int | Położenie znaku początkowego na podstawie zera dla podciągu. |
length | Nie. | int | Liczba znaków podciągów. Musi odwoływać się do lokalizacji w ciągu. Musi mieć wartość zero lub większą. W przypadku pominięcia pozostała część ciągu z pozycji początkowej zostanie zwrócona. |
Wartość zwracana
Podciąg. Lub pusty ciąg, jeśli długość wynosi zero.
Uwagi
Funkcja kończy się niepowodzeniem, gdy podciąg wykracza poza koniec ciągu lub gdy długość jest mniejsza niż zero. Poniższy przykład kończy się niepowodzeniem z powodu błędu "Parametry indeksu i długości muszą odwoływać się do lokalizacji w ciągu. Parametr indeksu: "0", parametr length: "11", długość parametru ciągu: "10".
"parameters": {
"inputString": {
"type": "string",
"value": "1234567890"
}
}, "variables": {
"prefix": "[substring(parameters('inputString'), 0, 11)]"
}
Przykłady
Poniższy przykład wyodrębnia podciąg z parametru.
{
"$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)]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
podciągoutput | String | dwa |
take
take(originalValue, numberToTake)
Zwraca tablicę lub ciąg. Tablica ma określoną liczbę elementów od początku tablicy. Ciąg ma określoną liczbę znaków od początku ciągu.
W Bicep użyj funkcji take .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
originalValue | Tak | tablica lub ciąg | Tablica lub ciąg, z których mają być zabierane elementy. |
numberToTake | Tak | int | Liczba elementów lub znaków do podjęcia. Jeśli ta wartość jest 0 lub mniejsza, zwracana jest pusta tablica lub ciąg. Jeśli jest on większy niż długość danej tablicy lub ciągu, zwracane są wszystkie elementy tablicy lub ciągu. |
Wartość zwracana
Tablica lub ciąg.
Przykłady
W poniższym przykładzie określona liczba elementów z tablicy i znaki z ciągu.
{
"$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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
arrayOutput | Tablica | ["jeden", "dwa"] |
stringOutput | String | on |
toLower
toLower(stringToChange)
Konwertuje określony ciąg na małe litery.
W Bicep użyj funkcji toLower .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
stringToChange | Tak | string | Wartość, która ma być konwertowana na małe litery. |
Wartość zwracana
Ciąg przekonwertowany na małe litery.
Przykłady
Poniższy przykład konwertuje wartość parametru na małe litery i na wielkie litery.
{
"$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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
toLowerOutput | String | Raz dwa trzy |
toUpperOutput | String | RAZ DWA TRZY |
toUpper
toUpper(stringToChange)
Konwertuje określony ciąg na wielkie litery.
W Bicep użyj funkcji toUpper .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
stringToChange | Tak | string | Wartość, która ma być konwertowana na wielkie litery. |
Wartość zwracana
Ciąg przekonwertowany na wielkie litery.
Przykłady
Poniższy przykład konwertuje wartość parametru na małe litery i na wielkie litery.
{
"$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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
toLowerOutput | String | Raz dwa trzy |
toUpperOutput | String | RAZ DWA TRZY |
przycinać
trim(stringToTrim)
Usuwa wszystkie znaki wiodące i końcowe odstępy z określonego ciągu.
W Bicep użyj funkcji trim .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
stringToTrim | Tak | string | Wartość do przycinania. |
Wartość zwracana
Ciąg bez znaków wiodących i końcowych odstępów.
Przykłady
W poniższym przykładzie znaki odstępu są przycinane z parametru .
{
"$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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
return | String | Raz dwa trzy |
uniqueString
uniqueString(baseString, ...)
Tworzy deterministyczny ciąg skrótu na podstawie wartości podanych jako parametry.
W pliku Bicep użyj funkcji uniqueString .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
baseString | Tak | string | Wartość użyta w funkcji skrótu do utworzenia unikatowego ciągu. |
więcej parametrów zgodnie z potrzebami | Nie. | string | Możesz dodać dowolną liczbę ciągów, aby utworzyć wartość określającą poziom unikatowości. |
Uwagi
Ta funkcja jest przydatna, gdy musisz utworzyć unikatową nazwę zasobu. Należy podać wartości parametrów, które ograniczają zakres unikatowości dla wyniku. Możesz określić, czy nazwa jest unikatowa dla subskrypcji, grupy zasobów lub wdrożenia.
Zwracana wartość nie jest losowym ciągiem, ale raczej wynikiem funkcji skrótu. Zwracana wartość to 13 znaków. Nie jest ona globalnie unikatowa. Możesz połączyć wartość z prefiksem z konwencji nazewnictwa, aby utworzyć nazwę, która ma znaczenie. W poniższym przykładzie pokazano format zwróconej wartości. Rzeczywista wartość zależy od podanych parametrów.
tcvhiyu5h2o5o
W poniższych przykładach pokazano, jak utworzyć uniqueString
unikatową wartość dla często używanych poziomów.
Unikatowy zakres subskrypcji
"[uniqueString(subscription().subscriptionId)]"
Unikatowy zakres dla grupy zasobów
"[uniqueString(resourceGroup().id)]"
Unikatowy zakres wdrożenia dla grupy zasobów
"[uniqueString(resourceGroup().id, deployment().name)]"
W poniższym przykładzie pokazano, jak utworzyć unikatową nazwę konta magazynu na podstawie grupy zasobów. W grupie zasobów nazwa nie jest unikatowa, jeśli została skonstruowana w taki sam sposób.
"resources": [{
"name": "[concat('storage', uniqueString(resourceGroup().id))]",
"type": "Microsoft.Storage/storageAccounts",
...
Jeśli musisz utworzyć nową unikatową nazwę przy każdym wdrożeniu szablonu i nie zamierzasz aktualizować zasobu, możesz użyć funkcji utcNow za uniqueString
pomocą polecenia . Można użyć tego podejścia w środowisku testowym. Aby zapoznać się z przykładem, zobacz utcNow.
Wartość zwracana
Ciąg zawierający 13 znaków.
Przykłady
Poniższy przykład zwraca wyniki z elementu 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)
Tworzy bezwzględny identyfikator URI przez połączenie identyfikatora baseUri i ciągu względnego identyfikatoraURI.
W Bicep użyj funkcji URI .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
baseUri | Tak | string | Ciąg identyfikatora URI podstawowego. Należy zachować ostrożność, aby obserwować zachowanie dotyczące obsługi ukośnika końcowego (/ ), zgodnie z opisem w poniższej tabeli. |
względny identyfikatorURI | Tak | string | Względny ciąg identyfikatora URI, który ma zostać dodany do podstawowego ciągu identyfikatora URI. |
Jeśli
baseUri
kończy się ukośnikiem końcowym, wynik jest po prostubaseUri
obserwowany przezrelativeUri
. JeślirelativeUri
również zaczyna się od wiodącego ukośnika, końcowy ukośnik i wiodący ukośnik zostaną połączone w jeden.Jeśli
baseUri
nie skończy się na końcowym ukośniku jednej z dwóch rzeczy.Jeśli
baseUri
w ogóle nie ma ukośników (oprócz//
w pobliżu przodu), wynik następujebaseUri
.relativeUri
Jeśli
baseUri
ma jakieś ukośniki, ale nie kończy się ukośnikiem, wszystko od ostatniego ukośnika do wewnątrz zostanie usunięte,baseUri
a porelativeUri
wyniku następujebaseUri
.
Oto kilka przykładów:
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
Aby uzyskać szczegółowe informacje, baseUri
parametry i relativeUri
są rozpoznawane zgodnie z opisem w RFC 3986, sekcja 5.
Wartość zwracana
Ciąg reprezentujący bezwzględny identyfikator URI dla wartości podstawowych i względnych.
Przykłady
W poniższym przykładzie pokazano, jak utworzyć link do szablonu zagnieżdżonego na podstawie wartości szablonu nadrzędnego.
"templateLink": "[uri(deployment().properties.templateLink.uri, 'nested/azuredeploy.json')]"
Poniższy przykładowy szablon pokazuje, jak używać elementów uri
, uriComponent
i 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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
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)
Koduje identyfikator URI.
W Bicep użyj funkcji uriComponent .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
stringToEncode | Tak | string | Wartość do zakodowania. |
Wartość zwracana
Ciąg zakodowanej wartości identyfikatora URI.
Przykłady
Poniższy przykładowy szablon pokazuje, jak używać elementów uri
, uriComponent
i 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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
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)
Zwraca ciąg zakodowanej wartości identyfikatora URI.
W Bicep użyj funkcji uriComponentToString .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
uriEncodedString | Tak | string | Zakodowana wartość identyfikatora URI do konwersji na ciąg. |
Wartość zwracana
Zdekodowany ciąg zakodowanej wartości identyfikatora URI.
Przykłady
W poniższym przykładzie pokazano, jak używać elementów uri
, uriComponent
i 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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
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 |
Następne kroki
- Aby zapoznać się z opisem sekcji w szablonie usługi ARM, zobacz Omówienie struktury i składni szablonów usługi ARM.
- Aby scalić wiele szablonów, zobacz Używanie połączonych i zagnieżdżonych szablonów podczas wdrażania zasobów platformy Azure.
- Aby iterować określoną liczbę razy podczas tworzenia typu zasobu, zobacz Iteracja zasobów w szablonach usługi ARM.
- Aby dowiedzieć się, jak wdrożyć utworzony szablon, zobacz Wdrażanie zasobów przy użyciu szablonów usługi ARM i programu Azure PowerShell.