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


Функция файла параметров для 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 см . в файле параметров.