Строковые функции для шаблонов ARM
Resource Manager предоставляет следующие функции для работы со строками в шаблоне Azure Resource Manager (шаблоне ARM):
- base64
- base64ToJson
- base64ToString
- concat
- contains
- dataUri
- dataUriToString
- empty
- endsWith
- first
- format
- guid
- indexOf
- join
- json
- last
- lastIndexOf
- length
- newGuid
- padLeft
- replace
- skip
- split
- startsWith
- string
- substring
- take
- toLower
- toUpper
- trim
- uniqueString
- uri
- uriComponent
- uriComponentToString
Совет
Мы рекомендуем использовать Bicep, так как он предоставляет те же возможности, что и шаблоны ARM, и имеет более простой синтаксис. Дополнительные сведения см. в описании функций string.
base64
base64(inputString)
Возвращает входную строку в кодировке Base64.
В Bicep используйте функцию base64.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
inputString | Да | строка | Значение, которое нужно вернуть в кодировке base64. |
Возвращаемое значение
Строка, содержащая представление в кодировке base64.
Примеры
Ниже представлен пример использования функции 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'))]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
base64Output | Строка | b25lLCB0d28sIHRocmVl |
toStringOutput | Строка | one, two, three |
toJsonOutput | Object | {"one": "a", "two": "b"} |
base64ToJson
base64ToJson(base64Value)
Преобразует представление в кодировке base64 в объект JSON.
В Bicep используйте функцию base64ToJson.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
base64Value | Да | строка | Представление в кодировке base64, которое необходимо преобразовать в объект JSON. |
Возвращаемое значение
Объект JSON.
Примеры
В следующем примере функция base64ToJson
используется для преобразования значения в кодировке 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'))]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
base64Output | Строка | b25lLCB0d28sIHRocmVl |
toStringOutput | Строка | one, two, three |
toJsonOutput | Object | {"one": "a", "two": "b"} |
base64ToString
base64ToString(base64Value)
Преобразует представление в кодировке base64 в строку.
В Bicep используйте функцию base64ToString.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
base64Value | Да | строка | Представление в кодировке base64, которое необходимо преобразовать в строку. |
Возвращаемое значение
Строка преобразованного значения в кодировке base64.
Примеры
В следующем примере функция base64ToString
используется для преобразования значения в кодировке 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'))]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
base64Output | Строка | b25lLCB0d28sIHRocmVl |
toStringOutput | Строка | one, two, three |
toJsonOutput | Object | {"one": "a", "two": "b"} |
concat
concat(arg1, arg2, arg3, ...)
Объединяет несколько строковых значений и возвращает объединенную строку или объединяет несколько массивов и возвращает объединенный массив.
В Bicep используйте интерполяцию строк вместо concat()
функции для улучшения удобочитаемости. Однако в некоторых случаях, например замена строк в многостроковых строках, может потребоваться вернуться к использованию concat()
функции или replace()
функции.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
arg1 | Да | строка или массив | Первая строка или массив для объединения. |
дополнительные аргументы | No | строка или массив | Дополнительные строки или массивы в нужном порядке для объединения. |
Эта функция может принимать любое количество аргументов, а также строки или массивы параметров. Однако вы не можете указать для параметров и массивы, и строки. Строки объединяются только с другими строками.
Возвращаемое значение
Строка или массив объединенных значений.
Примеры
В следующем примере показано, как объединить два строковых значения и получить объединенную строку.
{
"$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))]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
concatOutput | Строка | prefix-5yj4yjf5mbg72 |
В следующем примере показано, как объединить два массива.
{
"$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'))]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
Ввод | Массив | ["1-1", "1-2", "1-3", "2-1", "2-2", "2-3"] |
содержит
contains(container, itemToFind)
Проверяет, содержит ли массив значение, содержит ли объект ключ или содержит ли строка подстроку. При сравнении строк учитывается регистр. Тем не менее при проверке объекта на наличие ключа сравнение выполняется без учета регистра.
В Bicep используйте функцию contains.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
контейнер | Да | массив, объект или строка | Значение, содержащее значение, которое необходимо найти. |
itemToFind | Да | строка или целое число | Значение, которое необходимо найти. |
Возвращаемое значение
True
Значение Falseв противном случае .
Примеры
В следующем примере показано, как использовать функцию contains с различными типами:
{
"$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')]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
stringTrue | Bool | Истина |
stringFalse | Bool | False |
objectTrue | Bool | Истина |
objectFalse | Bool | False |
arrayTrue | Bool | Истина |
arrayFalse | Bool | False |
dataUri
dataUri(stringToConvert)
Преобразует значение в универсальный код ресурса (URI) данных.
В Bicep используйте функцию dataUri.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
stringToConvert | Да | строка | Значение, которое необходимо преобразовать в URI данных. |
Возвращаемое значение
Строка в формате URI данных.
Примеры
В следующем примере значение преобразуется в URI данных, а URI данных — в строку.
{
"$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'))]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
dataUriOutput | Строка | data:text/plain;charset=utf8;base64,SGVsbG8= |
toStringOutput | Строка | Hello, World! |
dataUriToString
dataUriToString(dataUriToConvert)
Преобразует значение в формате URI данных в строку.
В Bicep используйте функцию dataUriToString.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
dataUriToConvert | Да | строка | Значение URI данных, которое необходимо преобразовать. |
Возвращаемое значение
Строка, содержащая преобразованное значение.
Примеры
В следующем примере шаблона значение преобразуется в URI данных, а URI данных — в строку.
{
"$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'))]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
dataUriOutput | Строка | data:text/plain;charset=utf8;base64,SGVsbG8= |
toStringOutput | Строка | Hello, World! |
empty
empty(itemToTest)
Определяет, являются ли пустыми массив, объект или строка.
В Bicep используйте функцию empty.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
itemToTest | Да | массив, объект или строка | Значение, которое необходимо проверить на наличие содержимого. |
Возвращаемое значение
Возвращает True
значение, если значение пусто; в противном случае False
.
Примеры
В следующем примере проверяется, являются ли пустыми массив, объект и строка.
{
"$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'))]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
arrayEmpty | Bool | Истина |
objectEmpty | Bool | Истина |
stringEmpty | Bool | Истина |
endsWith
endsWith(stringToSearch, stringToFind)
Определяет, заканчивается ли строка определенным значением. При сравнении учитывается регистр букв.
В Bicep используйте функцию endsWith.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
stringToSearch | Да | строка | Значение, содержащее элемент, который необходимо найти. |
stringToFind | Да | строка | Значение, которое необходимо найти. |
Возвращаемое значение
True
Значение, если последний символ или символы строки соответствуют значению; False
в противном случае .
Примеры
Следующий пример демонстрирует использование функций startsWith
и 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')]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
startsTrue | Bool | Истина |
startsCapTrue | Bool | Истина |
startsFalse | Bool | False |
endsTrue | Bool | Истина |
endsCapTrue | Bool | Истина |
endsFalse | Bool | False |
первая
first(arg1)
Возвращает первый знак строки или первый элемент массива. Если задана пустая строка, функция приводит к пустой строке. В случае пустого массива функция возвращается null
.
В Bicep используйте функцию first.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
arg1 | Да | массив или строка | Значение, из которого необходимо извлечь первый элемент или знак. |
Возвращаемое значение
Строка первого знака или тип (строка, целое число, массив или объект) первого элемента в массиве.
Примеры
В следующем примере показано, как использовать функцию first с массивом и строкой:
{
"$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')]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
arrayOutput | Строка | один |
stringOutput | Строка | O |
format
format(formatString, arg1, arg2, ...)
Создает форматированную строку на основе входных значений.
В Bicep используйте функцию format.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
formatString | Да | строка | Строка составного форматирования. |
arg1 | Да | строка, целое число или логическое значение | Значение, которое должно быть включено в отформатированную строку. |
дополнительные аргументы | No | строка, целое число или логическое значение | Дополнительные значения, которые должны быть включены в отформатированную строку. |
Замечания
Эта функция используется для форматирования строки в шаблоне. В ней используются те же параметры форматирования, что и в методе System. String. Format в .NET.
Примеры
Ниже представлен пример использования функции format.
{
"$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'))]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
formatTest | Строка | Hello, User. Formatted number: 8,175,133 |
guid
guid(baseString, ...)
Создает значение в формате глобального уникального идентификатора на основе значений, указанных как параметры.
В Bicep используйте функцию guid.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
baseString | Да | строка | Значение, используемое в хэш-функции для создания GUID. |
дополнительные параметры по мере необходимости | Нет | строка | Можно добавить столько строк, сколько необходимо для создания значения, которое задает уровень уникальности. |
Замечания
Эта функция полезна, если нужно создать значение в формате глобального уникального идентификатора. Указываются значения параметров, которые ограничивают область уникальности результата. Можно указать, является ли уникальным имя в подписке, группе ресурсов или развертывании.
Возвращаемое значение — это не случайная строка, а, скорее, результат применения хэш-функции к параметрам. Возвращаемое значение содержит 36 символов. Оно не является глобальным уникальным значением. Чтобы создать глобальный уникальный идентификатор (GUID), который не основан на этом хэш-значении параметров, используйте функцию newGuid.
В следующих примерах показывается, как использовать GUID при создании уникального значения для часто используемых уровней.
Уникальное в пределах подписки.
"[guid(subscription().subscriptionId)]"
Уникальное в пределах группы ресурсов.
"[guid(resourceGroup().id)]"
Уникальное в пределах развертывания для группы ресурсов.
"[guid(resourceGroup().id, deployment().name)]"
Функция guid
реализует алгоритм из RFC 4122 §4.3. Исходный источник можно найти в GuidUtility с некоторыми изменениями.
Возвращаемое значение
Строка, содержащая 36 символов, в формате глобального уникального идентификатора.
Примеры
В следующем примере показаны результаты применения функции 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)
Возвращает первую позицию значения в строке. При сравнении учитывается регистр букв.
В Bicep используйте функцию indexOf.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
stringToSearch | Да | строка | Значение, содержащее элемент, который необходимо найти. |
stringToFind | Да | строка | Значение, которое необходимо найти. |
Возвращаемое значение
Целое число, представляющее позицию искомого элемента. Значение отсчитывается, начиная с нуля. Если элемент не найден, то возвращается значение –1.
Примеры
Следующий пример демонстрирует использование функций indexOf
и 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')]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
firstT | Int | 0 |
lastT | Int | 3 |
firstString | Int | 2 |
lastString | Int | 0 |
notFound | Int | -1 |
join
join(inputArray, delimiter)
Объединяет массив строк в одну строку, разделенную разделителем.
В Bicep используйте функцию join.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
inputArray | Да | Массив строк | Массив строк для объединения. |
разделитель | Да | Разделитель для разбиения строки. |
Возвращаемое значение
Строка .
Примеры
В следующем примере массив входных строк соединяется со строками, разделенными различными разделителями.
{
"$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'), ';')]"
}
}
}
Выходные данные из предыдущего примера:
Имя. | Тип | значение |
---|---|---|
firstOutput | Строка | "один,два,три" |
secondOutput | Строка | "один;два;три" |
json
json(arg1)
Преобразовывает допустимую строку JSON в тип данных JSON. Дополнительные сведения см. в разделе о функции json.
В Bicep используйте функцию json.
последняя
last(arg1)
Возвращает последний знак строки или последний элемент массива.
В Bicep используйте функцию last.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
arg1 | Да | массив или строка | Значение, из которого необходимо извлечь последний элемент или знак. |
Возвращаемое значение
Строка последнего знака или тип (строка, целое число, массив или объект) последнего элемента в массиве.
Примеры
В следующем примере показано, как использовать функцию last
с массивом и строкой.
{
"$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')]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
arrayOutput | Строка | три |
stringOutput | Строка | e |
lastIndexOf
lastIndexOf(stringToSearch, stringToFind)
Возвращает последнюю позицию значения в строке. При сравнении учитывается регистр букв.
В Bicep используйте функцию lastIndexOf.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
stringToSearch | Да | строка | Значение, содержащее элемент, который необходимо найти. |
stringToFind | Да | строка | Значение, которое необходимо найти. |
Возвращаемое значение
Целое число, представляющее последнюю позицию искомого элемента. Значение отсчитывается, начиная с нуля. Если элемент не найден, то возвращается значение –1.
Примеры
Следующий пример демонстрирует использование функций indexOf
и 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')]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
firstT | Int | 0 |
lastT | Int | 3 |
firstString | Int | 2 |
lastString | Int | 0 |
notFound | Int | -1 |
length
length(string)
Возвращает число знаков в строке, элементов в массиве или свойств корневого уровня в объекте.
В Bicep используйте функцию length.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
arg1 | Да | массив, строка или объект | Массив, используемый для получения числа элементов, строка, используемая для получения числа символов, или объект, используемый для получения числа свойств корневого уровня. |
Возвращаемое значение
Целое число.
Примеры
В следующем примере показано, как использовать функцию length
с массивом и строкой.
{
"$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'))]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
arrayLength | Int | 3 |
stringLength | Int | 13 |
objectLength | Int | 4 |
newGuid
newGuid()
Возвращает значение в формате глобального уникального идентификатора. Эта функция может использоваться только в значении параметра по умолчанию.
В Bicep используйте функцию newGuid.
Замечания
Эту функцию можно использовать только в выражении для значения параметра по умолчанию. При использовании этой функции где-либо еще в шаблоне возвращается ошибка. Функция не разрешена в других частях шаблона, поскольку она возвращает разные значения при каждом вызове. Развертывание одного и того же шаблона с одинаковыми параметрами, как правило, не будет возвращать одинаковые результаты.
Функция newGuid отличается от функции guid, так как она не принимает никаких параметров. При вызове функции guid с тем же параметром каждый раз возвращается один и тот же идентификатор. Используйте функцию guid, если вам необходимо гарантированно создавать один и тот же идентификатор GUID для конкретного окружения. Используйте функцию newGuid, если каждый раз вам требуется другой идентификатор, например развертывание ресурсов в тестовой среде.
Для создания глобального уникального идентификатора функция newGuid использует структуру GUID на платформе .NET Framework.
Если вы используете повторное развертывание предыдущего успешного развертывания, а предыдущее развертывание включает параметр, использующий функцию newGuid, то этот параметр не будет вычисляться повторно. Вместо этого значение параметра из предыдущего развертывания автоматически используется повторно в развертывании отката.
В тестовой среде может потребоваться многократное развертывание ресурсов, которые активны только в течение короткого времени. Вместо конструирования уникальных имен для их создания можно использовать функцию newGuid с функцией uniqueString.
Будьте внимательны при повторном развертывании шаблона, который использует функцию newGuid для значения по умолчанию. При повторном развертывании без ввода значения параметра функция вычисляется повторно. Если нужно обновить существующий ресурс, а не создать новый, следует передать значение параметра из предыдущего развертывания.
Возвращаемое значение
Строка, содержащая 36 символов, в формате глобального уникального идентификатора.
Примеры
В следующем примере показан параметр с новым идентификатором.
{
"$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')]"
}
}
}
Выходные данные из предыдущего примера различаются для каждого развертывания, но будут выглядеть примерно так:
Имя. | Тип | значение |
---|---|---|
guidOutput | строка | b76a51fc-bd72-4a77-b9a2-3c29e7d2e551 |
В следующем примере функция newGuid
используется для создания уникального имени учетной записи хранения. Этот шаблон может работать для тестовой среды, где учетная запись хранения существует в течение непродолжительного времени и не развертывается повторно.
{
"$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')]"
}
}
}
Выходные данные из предыдущего примера различаются для каждого развертывания, но будут выглядеть примерно так:
Имя. | Тип | значение |
---|---|---|
nameOutput | строка | storagenziwvyru7uxie |
padLeft
padLeft(valueToPad, totalLength, paddingCharacter)
Возвращает выровненную по правому краю строку, добавляя символы в левую часть до достижения общее указанной длины.
В Bicep используйте функцию padLeft.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
значение_для_заполнения | Да | строка или целое число | Значение, выравниваемое по правому краю. |
общая_длина | Да | INT | Общее число символов в возвращаемой строке. |
символ_заполнения | No | один знак | Символ, используемый для заполнения левой части до достижения общей длины. Значение по умолчанию — пробел. |
Если длина исходной строки превышает число знаков для заполнения, то знаки не добавляются.
Возвращаемое значение
Строка, содержащая по крайней мере число указанных знаков.
Примеры
В следующем примере показано, как заполнить указанное пользователем значение параметра, добавляя знак нуля до достижения общего числа знаков.
{
"$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')]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
stringOutput | Строка | 0000000123 |
replace
replace(originalString, oldString, newString)
Возвращает новую строку, в которой все экземпляры одной строки заменены другой строкой.
В Bicep используйте функцию replace.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
исходная_строка | Да | строка | Значение, в котором все экземпляры одной строки заменены другой строкой. |
oldString | Да | строка | Строка, которая удаляется из исходной строки. |
newString | Да | строка | Строка, добавляемая вместо удаляемой строки. |
Возвращаемое значение
Строка с замененными знаками.
Примеры
В приведенном ниже примере показано, как удалить все тире из предоставленной пользователем строки и как заменить часть строки другой строкой.
{
"$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')]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
firstOutput | Строка | 1231231234 |
secondOutput | Строка | 123-123-xxxx |
skip
skip(originalValue, numberToSkip)
Возвращает строку, содержащую все знаки из исходной строки, начиная с заданной позиции, или массив, содержащий все элементы из исходного массива, начиная с заданной позиции.
В Bicep используйте функцию skip.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
originalValue | Да | массив или строка | Массив или строка, используемые для пропуска. |
numberToSkip | Да | INT | Число элементов или знаков, которые необходимо пропустить. Если это значение меньше или равно 0, то возвращаются все элементы или знаки в значении. Если это значение превышает длину массива или строки, возвращается пустой массив или строка. |
Возвращаемое значение
Массив или строка.
Примеры
В следующем примере пропускается заданное число элементов в массиве и заданное число знаков в строке.
{
"$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'))]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
arrayOutput | Массив | ["three"] |
stringOutput | Строка | two three |
split
split(inputString, delimiter)
Возвращает массив строк, содержащий подстроки входной строки, разделенные переданными разделителями.
В Bicep используйте функцию split.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
inputString | Да | строка | Строка для разделения. |
разделитель | Да | строка или массив строк | Разделитель для разбиения строки. |
Возвращаемое значение
Массив строк.
Примеры
В следующем примере входная строка разбивается по символам запятой или точки с запятой.
{
"$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'))]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
firstOutput | Массив | ["one", "two", "three"] |
secondOutput | Массив | ["one", "two", "three"] |
startsWith
startsWith(stringToSearch, stringToFind)
Определяет, начинается ли строка с определенного значения. При сравнении учитывается регистр букв.
В Bicep используйте функцию startsWith.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
stringToSearch | Да | строка | Значение, содержащее элемент, который необходимо найти. |
stringToFind | Да | строка | Значение, которое необходимо найти. |
Возвращаемое значение
True
Значение, если первый символ или символы строки соответствуют значению; False
в противном случае .
Примеры
Следующий пример демонстрирует использование функций startsWith
и 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')]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
startsTrue | Bool | Истина |
startsCapTrue | Bool | Истина |
startsFalse | Bool | False |
endsTrue | Bool | Истина |
endsCapTrue | Bool | Истина |
endsFalse | Bool | False |
строка
string(valueToConvert)
Преобразует указанное значение в строку.
В Bicep используйте функцию string.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
valueToConvert | Да | Любое | Значение, которое необходимо преобразовать в строку. Можно преобразовать любой тип значения, включая объекты и массивы. |
Возвращаемое значение
Строка преобразованного значения.
Примеры
В следующем примере показано, как преобразовать различные типы значений в строковые.
{
"$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'))]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
objectOutput | Строка | {"valueA":10,"valueB":"Example Text"} |
arrayOutput | Строка | ["a","b","c"] |
intOutput | Строка | 5 |
substring
substring(stringToParse, startIndex, length)
Возвращает подстроку, которая начинается с указанной позиции и содержит указанное количество символов.
В Bicep используйте функцию substring.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
stringToParse | Да | строка | Исходная строка, из которой извлекается подстрока. |
startIndex | No | INT | Отсчитываемая от нуля позиция первого знака для подстроки. |
length | No | INT | Число символов в подстроке. Этот параметр должен ссылаться на позицию в строке. Значение этого параметра должно быть равным нулю или больше него. Если этот параметр опущен, возвращается весь остаток строки от начальной позиции. |
Возвращаемое значение
Подстрока. Также может принимать значение пустой строки, когда длина равна нулю.
Замечания
Если substring выходит за пределы строки или когда длина меньше нуля, происходит ошибка выполнения функции. Следующий пример завершается ошибкой "Параметры индекса и длины должны относиться к расположению в строке. Параметр индекса: 0, параметр длины: 11, параметр длины строкового параметра: 10".
"parameters": {
"inputString": {
"type": "string",
"value": "1234567890"
}
}, "variables": {
"prefix": "[substring(parameters('inputString'), 0, 11)]"
}
Примеры
В следующем примере из параметра извлекается подстрока.
{
"$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)]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
substringOutput | Строка | two |
take
take(originalValue, numberToTake)
Возвращает массив или строку. Если это массив, то он содержит указанное числом элементов, считая от начала массива. Если это строка, то она содержит указанное число символов, считая от начала строки.
В Bicep используйте функцию take.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
originalValue | Да | массив или строка | Массив или строка, из которых берутся элементы. |
numberToTake | Да | INT | Число элементов или знаков, которые необходимо взять. Если это значение меньше или равно 0, то возвращается пустой массив или строка. Если это значение превышает длину заданного массива или строки, возвращаются все элементы в массиве или строке. |
Возвращаемое значение
Массив или строка.
Примеры
В следующем примере из массива извлекается заданное число элементов, а из строки — заданное число знаков.
{
"$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'))]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
arrayOutput | Массив | ["one", "two"] |
stringOutput | Строка | on |
toLower
toLower(stringToChange)
Преобразует указанную строку в нижний регистр.
В Bicep используйте функцию toLower.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
изменяемая_строка | Да | строка | Значение, преобразовываемое в нижний регистр. |
Возвращаемое значение
Возвращает строку, преобразованную в нижний регистр.
Примеры
В следующем примере значение параметра преобразуется в нижний регистр и в верхний регистр.
{
"$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'))]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
toLowerOutput | Строка | one two three |
toUpperOutput | Строка | ONE TWO THREE |
toUpper
toUpper(stringToChange)
Преобразует указанную строку в верхний регистр.
В Bicep используйте функцию toUpper.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
изменяемая_строка | Да | строка | Значение, преобразовываемое в верхний регистр. |
Возвращаемое значение
Возвращает строку, преобразованную в верхний регистр.
Примеры
В следующем примере значение параметра преобразуется в нижний регистр и в верхний регистр.
{
"$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'))]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
toLowerOutput | Строка | one two three |
toUpperOutput | Строка | ONE TWO THREE |
trim
trim(stringToTrim)
Удаляет все начальные и конечные знаки пробела из указанной строки.
В Bicep используйте функцию trim.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
stringToTrim | Да | строка | Обрезаемое значение. |
Возвращаемое значение
Строка без пробелов в начале и в конце.
Примеры
В следующем примере из параметра удаляются пробелы.
{
"$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'))]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
Ввод | Строка | one two three |
uniqueString
uniqueString(baseString, ...)
Создает детерминированную хэш-строку на основании значений, указанных как параметры.
В Bicep используйте функцию uniqueString.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
baseString | Да | строка | Значение, используемое в хэш-функции для создания уникальной строки. |
дополнительные параметры по мере необходимости | Нет | строка | Можно добавить столько строк, сколько необходимо для создания значения, которое задает уровень уникальности. |
Замечания
Эта функция полезна в тех случаях, когда необходимо создать уникальное имя ресурса. Указываются значения параметров, которые ограничивают область уникальности результата. Можно указать, является ли уникальным имя в подписке, группе ресурсов или развертывании.
Возвращаемое значение не случайная строка, а, скорее, результат применения хэш-функции. Возвращаемое значение содержит 13 знаков. Оно не является глобальным уникальным значением. Вы можете добавить к значению префикс из своего соглашения об именовании, чтобы создать значимое имя. В следующем примере показан формат возвращаемого значения. Фактическое значение зависит от указанных параметров.
tcvhiyu5h2o5o
В следующих примерах показано, как с помощью функции uniqueString
создать уникальное значение для часто используемых уровней.
Уникальное в пределах подписки.
"[uniqueString(subscription().subscriptionId)]"
Уникальное в пределах группы ресурсов.
"[uniqueString(resourceGroup().id)]"
Уникальное в пределах развертывания для группы ресурсов.
"[uniqueString(resourceGroup().id, deployment().name)]"
В следующем примере показано, как создать уникальное имя учетной записи хранения на основе вашей группы ресурсов. Внутри группы ресурсов имена не будут уникальными, если создавать их таким способом.
"resources": [{
"name": "[concat('storage', uniqueString(resourceGroup().id))]",
"type": "Microsoft.Storage/storageAccounts",
...
Если каждый раз при развертывании шаблона необходимо создать новое уникальное имя и при этом не обновлять ресурс, можно использовать функцию utcNow с функцией uniqueString
. Этот подход можно использовать в тестовой среде. Пример см. в разделе о функции utcNow.
Возвращаемое значение
Строка, содержащая 13 символов.
Примеры
В следующем примере показаны результаты применения функции 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)
Создает абсолютный URI, объединяя строки baseUri и relativeUri.
В Bicep используйте функцию uri.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
baseUri | Да | строка | Строка базового универсального кода ресурса (URI). Следите за правилами обработки замыкающей косой черты (/ ), которые описаны ниже в этой таблице. |
relativeUri | Да | строка | Строка относительного универсального кода ресурса (URI), добавляемая к строке базового универсального кода ресурса (URI). |
Если
baseUri
заканчивается косой чертой, результат простоbaseUri
следуетrelativeUri
. ЕслиrelativeUri
также начинается с начальной косой черты, косая черта и ведущий косая черта будут объединены в одну.Если
baseUri
не заканчивается косая черта одного из двух вещей происходит.Если
baseUri
нет косой черты вообще (в стороне от передней//
части) результат следуетbaseUri
relativeUri
.Если
baseUri
есть некоторые косые черты, но не заканчивается косой чертой, все, начиная с последней косой черты, удаляетсяbaseUri
изbaseUri
, и результат следуетrelativeUri
.
Далее приводятся некоторые примеры.
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
Полные сведения baseUri
разрешаются и relativeUri
параметры, указанные в RFC 3986, разделе 5.
Возвращаемое значение
Строка, представляющая абсолютный URI для базового и относительного значений.
Примеры
В следующем примере показано создание ссылки на вложенный шаблон в зависимости от значения параметра родительского шаблона.
"templateLink": "[uri(deployment().properties.templateLink.uri, 'nested/azuredeploy.json')]"
В следующем примере шаблона показано, как использовать функции uri
, uriComponent
и 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'))]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
uriOutput | Строка | http://contoso.com/resources/nested/azuredeploy.json |
componentOutput | Строка | http%3A%2F%2Fcontoso.com%2Fresources%2Fnested%2Fazuredeploy.json |
toStringOutput | Строка | http://contoso.com/resources/nested/azuredeploy.json |
uriComponent
uricomponent(stringToEncode)
Кодирует URI.
В Bicep используйте функцию uriComponent.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
stringToEncode | Да | строка | Значение для кодирования. |
Возвращаемое значение
Строка со значением, закодированным в формате URI.
Примеры
В следующем примере шаблона показано, как использовать функции uri
, uriComponent
и 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'))]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
uriOutput | Строка | http://contoso.com/resources/nested/azuredeploy.json |
componentOutput | Строка | http%3A%2F%2Fcontoso.com%2Fresources%2Fnested%2Fazuredeploy.json |
toStringOutput | Строка | http://contoso.com/resources/nested/azuredeploy.json |
uriComponentToString
uriComponentToString(uriEncodedString)
Возвращает строку со значением, закодированным в формате URI.
В Bicep используйте функцию uriComponentToString.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
uriEncodedString | Да | строка | Значение, закодированное в формате URI, которое необходимо преобразовать в строку. |
Возвращаемое значение
Декодированная строка со значением, закодированным в формате URI.
Примеры
В следующем примере показано, как использовать uri
, uriComponent
и 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'))]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
uriOutput | Строка | http://contoso.com/resources/nested/azuredeploy.json |
componentOutput | Строка | http%3A%2F%2Fcontoso.com%2Fresources%2Fnested%2Fazuredeploy.json |
toStringOutput | Строка | http://contoso.com/resources/nested/azuredeploy.json |
Следующие шаги
- Описание разделов в шаблоне ARM приведено в статье Общие сведения о структуре и синтаксисе шаблонов ARM.
- Сведения о слиянии нескольких шаблонов см. в разделе Использование связанных и вложенных шаблонов при развертывании ресурсов Azure.
- Чтобы выполнить итерацию заданное число раз при создании типа ресурса, см. статью Итерация ресурса в шаблонах ARM.
- Чтобы узнать, как развернуть созданный вами шаблон, см. статью Развертывание ресурсов с помощью шаблонов ARM и Azure PowerShell.