Поделиться через


Строковые функции для шаблонов ARM

Resource Manager предоставляет следующие функции для работы со строками в шаблоне Azure Resource Manager (шаблоне ARM):

Совет

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

Следующие шаги