Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
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": {
"storageResourceGroup": {
"type": "string"
},
"storageAccountName": {
"type": "string"
}
},
"resources": [],
"outputs": {
"ExistingStorage": {
"type": "object",
"value": "[reference(resourceId(parameters('storageResourceGroup'), 'Microsoft.Storage/storageAccounts', parameters('storageAccountName')), '2021-04-01')]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| base64Output | Строка | b25lLCB0d28sIHRocmVl |
| toStringOutput | Строка | Раз, два, три |
| 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": {
"storageResourceGroup": {
"type": "string"
},
"storageAccountName": {
"type": "string"
}
},
"resources": [],
"outputs": {
"ExistingStorage": {
"type": "object",
"value": "[reference(resourceId(parameters('storageResourceGroup'), 'Microsoft.Storage/storageAccounts', parameters('storageAccountName')), '2021-04-01')]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| base64Output | Строка | b25lLCB0d28sIHRocmVl |
| toStringOutput | Строка | Раз, два, три |
| 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": {
"storageResourceGroup": {
"type": "string"
},
"storageAccountName": {
"type": "string"
}
},
"resources": [],
"outputs": {
"ExistingStorage": {
"type": "object",
"value": "[reference(resourceId(parameters('storageResourceGroup'), 'Microsoft.Storage/storageAccounts', parameters('storageAccountName')), '2021-04-01')]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| base64Output | Строка | b25lLCB0d28sIHRocmVl |
| toStringOutput | Строка | Раз, два, три |
| 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))]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| 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'))]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| Ввод | Массив | ["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')]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| 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'))]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| dataUriOutput | Строка | data:text/plain;charset=utf8;base64,SGVsbG8= |
| toStringOutput | Строка | Всем привет! |
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'))]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| dataUriOutput | Строка | data:text/plain;charset=utf8;base64,SGVsbG8= |
| toStringOutput | Строка | Всем привет! |
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'))]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| 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')]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| startsTrue | Bool | Истина |
| startsCapTrue | Bool | Истина |
| startsFalse | Bool | False |
| endsTrue | Bool | Истина |
| endsCapTrue | Bool | Истина |
| endsFalse | Bool | False |
первая
first(arg1)
Возвращает первый знак строки или первый элемент массива. Если задана пустая строка, функция приводит к пустой строке. В случае пустого массива функция возвращается null.
В Bicep используйте функцию first .
Параметры
| Параметр | Обязательное поле | Type | Описание |
|---|---|---|---|
| arg1 | Да | массив или строка | Значение, из которого необходимо извлечь первый элемент или знак. |
Возвращаемое значение
Строка первого символа или типа (строка, int, массив или объект) первого элемента в массиве.
Примеры
В следующем примере показано, как использовать функцию 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')]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| 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'))]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| formatTest | Строка | Привет, пользователь. Форматированный номер: 8 175 133 |
guid
guid(baseString, ...)
Создает значение в формате глобального уникального идентификатора на основе значений, указанных как параметры.
В Bicep используйте функцию guid .
Параметры
| Параметр | Обязательное поле | Type | Описание |
|---|---|---|---|
| baseString | Да | строка | Значение, используемое в хэш-функции для создания GUID. |
| дополнительные параметры по мере необходимости | No | строка | Можно добавить столько строк, сколько необходимо для создания значения, которое задает уровень уникальности. |
Замечания
Эта функция полезна, если нужно создать значение в формате глобального уникального идентификатора. Указываются значения параметров, которые ограничивают область уникальности результата. Можно указать, является ли имя уникальным для подписки, группы ресурсов или развертывания.
Возвращаемое значение — это не случайная строка, а, скорее, результат применения хэш-функции к параметрам. Возвращаемое значение содержит 36 символов. Оно не является глобальным уникальным значением. Чтобы создать новый GUID, который не основан на этом хэш-значении параметров, используйте функцию newGuid .
В следующих примерах показано, как создать guid уникальное значение для часто используемых уровней:
Уникальное в пределах подписки.
"[guid(subscription().subscriptionId)]"
Уникальное в пределах группы ресурсов.
"[guid(resourceGroup().id)]"
Уникальное в пределах развертывания для группы ресурсов.
"[guid(resourceGroup().id, deployment().name)]"
Функция guid реализует алгоритм из RFC 4122 §4.3. Исходный источник можно найти в GuidUtility с некоторыми изменениями. В реализации guid() функции задано namespaceIdзначение , а 11fb06fb-712d-4ddd-98c7-e71bbd588830 для нее version задано значение 5. Значение создается путем преобразования каждого параметра guid() функции в строку и объединения их с - разделителями.
Возвращаемое значение
Строка, содержащая 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')]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| 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'), ';')]"
}
}
}
Выходные данные из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| 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')]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| 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')]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| 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'))]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| 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')]"
}
}
}
Выходные данные из предыдущего примера различаются для каждого развертывания, но будут выглядеть примерно так:
| Имя. | Type | значение |
|---|---|---|
| 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": "2025-06-01",
"name": "[variables('storageName')]",
"location": "West US",
"sku": {
"name": "Standard_LRS"
},
"kind": "StorageV2",
"properties": {}
}
],
"outputs": {
"nameOutput": {
"type": "string",
"value": "[variables('storageName')]"
}
}
}
Выходные данные из предыдущего примера различаются для каждого развертывания, но будут выглядеть примерно так:
| Имя. | Type | значение |
|---|---|---|
| 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')]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| 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')]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| 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'))]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| arrayOutput | Массив | ["three"] |
| stringOutput | Строка | два трех |
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'))]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| 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')]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| 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'))]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| 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)]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| 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'))]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| 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'))]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| toLowerOutput | Строка | Раз, два, три |
| toUpperOutput | Строка | РАЗ, ДВА, ТРИ |
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'))]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| toLowerOutput | Строка | Раз, два, три |
| toUpperOutput | Строка | РАЗ, ДВА, ТРИ |
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'))]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| Ввод | Строка | Раз, два, три |
uniqueString
uniqueString(baseString, ...)
Создает детерминированную хэш-строку на основании значений, указанных как параметры.
В Bicep используйте функцию uniqueString .
Параметры
| Параметр | Обязательное поле | Type | Описание |
|---|---|---|---|
| baseString | Да | строка | Значение, используемое в хэш-функции для создания уникальной строки. |
| дополнительные параметры по мере необходимости | No | строка | Можно добавить столько строк, сколько необходимо для создания значения, которое задает уровень уникальности. |
Замечания
Эта функция полезна в тех случаях, когда необходимо создать уникальное имя ресурса. Указываются значения параметров, которые ограничивают область уникальности результата. Можно указать, является ли имя уникальным для подписки, группы ресурсов или развертывания.
Возвращаемое значение не является случайной строкой, а результатом хэш-функции. Возвращаемое значение содержит 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нет косой черты вообще (в стороне от передней//части) результат следуетbaseUrirelativeUri.Если
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'))]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| 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'))]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| 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'))]"
}
}
}
Выходные данные значений по умолчанию из предыдущего примера:
| Имя. | Type | значение |
|---|---|---|
| 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.