Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описаны функции Bicep, которые можно использовать в файлах параметров Bicep (.bicepparam).
externalInput
externalInput(name, config)
Эта функция позволяет определять входные данные, которые должны предоставляться внешними средствами при запуске развертывания, а не требовать их знать при компиляции.
Доступно в Bicep версии 0.37.4 и более поздних версиях.
Параметры
| Параметр | Обязательное поле | Type | Описание |
|---|---|---|---|
| имя | Да | строка | Имя входных данных, предоставленных внешним средством. |
| config | Нет | any | Необязательная конфигурация входных данных. Конфигурация зависит от внешнего инструмента, из который запрашивается ввод. |
Возвращаемое значение
Фактическое значение, полученное из внешнего источника во время развертывания.
Пример
.bicepparam Следующий файл запрашивает входные данные от вымышленного средства с именем, который может предоставить входные данные с именемsomeToolmyInput.
using './main.bicep'
// without configuration
param foo = externalInput('someTool.myInput')
// with string configuration
param bar = externalInput('someTool.myInput', 'Indy')
// with complex configuration
param baz = externalInput('someTool.myInput', {
name: 'Indy'
legs: 3
})
getSecret
getSecret(subscriptionId, resourceGroupName, keyVaultName, secretName, secretVersion)
Эта функция возвращает секрет из Azure Key Vault. Используйте эту функцию для передачи секрета в безопасный строковый параметр Bicep-файла.
Примечание.
Вы также можете использовать функцию keyVaultName.getSecret(secretName) из .bicep файла.
using './main.bicep'
param secureUserName = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretUserName')
param securePassword = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretPassword')
При использовании этой функции с интерполяцией строк возникает ошибка.
Квалификатор пространства имен () можно использовать, но это необязательно, так как функция доступна из az.
Параметры
| Параметр | Обязательное поле | Type | Описание |
|---|---|---|---|
| subscriptionId | Да | строка | Идентификатор подписки с ресурсом хранилища ключей |
| resourceGroupName | Да | строка | Имя группы ресурсов с ресурсом хранилища ключей |
| keyVaultName | Да | строка | Имя хранилища ключей |
| secretName; | Да | строка | Имя секрета, хранящегося в хранилище ключей |
| secretVersion | Нет | строка | Версия секрета, хранящегося в хранилище ключей |
Возвращаемое значение
Значение секрета.
Пример
.bicepparam Следующий файл имеет securePassword параметр, имеющий последнее значение секрета <secretName>:
using './main.bicep'
param securePassword = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretPassword')
В следующем файле есть параметр, имеющий значение секрета .bicepparam, но он закреплен к определенному securePassword:<>
using './main.bicep'
param securePassword = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretPassword', 'exampleSecretVersion')
readEnvironmentVariable
readEnvironmentVariable(variableName, [defaultValue])
Эта функция возвращает значение переменной среды или задает значение по умолчанию, если переменная среды не существует. Загрузка переменных происходит во время компиляции, а не во время выполнения.
Пространство имен: sys.
Параметры
| Параметр | Обязательное поле | Type | Описание |
|---|---|---|---|
| variableName | Да | строка | Имя переменной. |
| defaultValue | Нет | строка | Строковое значение по умолчанию, используемое, если переменная среды не существует. |
Возвращаемое значение
Возвращаемое значение — строковое значение переменной среды или значение по умолчанию.
Замечания
Следующая команда задает переменную среды только для процесса PowerShell, в котором он выполняется. Вы получаете BCP338 из Visual Studio Code:
$env:testEnvironmentVariable = "Hello World!"
Чтобы задать переменную среды на уровне пользователя, выполните следующую команду:
[System.Environment]::SetEnvironmentVariable('testEnvironmentVariable','Hello World!', 'User')
Чтобы задать переменную среды на уровне компьютера, выполните следующую команду:
[System.Environment]::SetEnvironmentVariable('testEnvironmentVariable','Hello World!', 'Machine')
Дополнительные сведения см. в разделе "Метод Environment.SetEnvironmentVariable".
Примеры
В следующих примерах показано, как получить значения переменных среды:
use './main.bicep'
param adminPassword = readEnvironmentVariable('admin_password')
param boolfromEnvironmentVariables = bool(readEnvironmentVariable('boolVariableName','false'))
Следующие шаги
Дополнительные сведения о файлах параметров Bicep см. в статье "Создание файлов параметров для развертывания Bicep".