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


Функции 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".