Udostępnij za pośrednictwem


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

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 uniqueStringpomocą 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 prostu baseUri obserwowany przez relativeUri. Jeśli relativeUri 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 po relativeUriwyniku następuje baseUri .

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, uriComponenti 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, uriComponenti 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, uriComponenti 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