Функции Bicep для файлов параметров Bicep
Bicep предоставляет функцию, которая readEnvironmentVariable()
позволяет извлекать значения из переменных среды. Она также обеспечивает гибкость, чтобы задать значение по умолчанию, если переменная среды не существует. Эта функция может использоваться только в .bicepparam
файлах.
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
) можно использовать, но это необязательно, так как функция доступна из пространства имен Azure по умолчанию.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
subscriptionId | Да | строка | Идентификатор подписки с ресурсом хранилища ключей |
resourceGroupName | Да | строка | Имя группы ресурсов с ресурсом хранилища ключей |
keyVaultName | Да | строка | Имя хранилища ключей |
secretName; | Да | строка | Имя секрета, хранящегося в хранилище ключей |
secretVersion | Нет | строка | Версия секрета, хранящегося в хранилище ключей |
Возвращаемое значение
Значение секрета.
Пример
.bicepparam
Следующий файл имеет securePassword
параметр, имеющий последнее значение секрета <secretName>:
using './main.bicep'
param securePassword = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretPassword')
В следующем файле есть параметр, имеющий значение секрета <secretName>, но он закреплен к определенному <секретуValue>:securePassword
.bicepparam
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".