Функция файла параметров для Bicep
Bicep предоставляет функцию, которая readEnvironmentVariable()
позволяет извлекать значения из переменных среды. Она также обеспечивает гибкость, чтобы задать значение по умолчанию, если переменная среды не существует. Эта функция может использоваться только в файлах .bicepparam
. Дополнительные сведения см . в файле параметров Bicep.
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')
В следующем .bicepparam
файле имеется securePassword
параметр, имеющий значение секрета< secretName>, но он закреплен на определенном< секретеValue.>
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 см . в файле параметров.