你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Bicep 参数文件的 Bicep 函数

Bicep 提供了一个名为 readEnvironmentVariable() 的函数以用于从环境变量中检索值。 如果环境变量不存在,它还可以灵活地设置默认值。 此函数只能在文件中使用 .bicepparam

getSecret

getSecret(subscriptionId, resourceGroupName, keyVaultName, secretName, secretVersion)

此函数从 Azure 密钥库返回机密。 使用此函数将机密传递给 Bicep 文件的安全字符串参数。

注意

还可以在 .bicep 文件中使用 keyVaultName.getSecret(secretName) 函数。

using './main.bicep'

param secureUserName = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretUserName')
param securePassword = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretPassword')

如果你在使用此函数时使用字符串内插,则会出现错误。

可以使用命名空间限定符az),但它是可选的,因为该函数可从默认 Azure 命名空间获取。

参数

参数 必选 类型​​ 说明
subscriptionId string 具有密钥保管库资源的订阅的 ID
resourceGroupName string 具有密钥保管库资源的资源组的名称
KeyVaultName string 密钥保管库的名称
secretName string 密钥保管库中存储的机密的名称
secretVersion string 密钥保管库中存储的机密的版本

返回值

机密的值。

示例

以下文件具有securePassword具有 secretName> 机密的最新值<的参数:.bicepparam

using './main.bicep'

param securePassword = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretPassword')

以下文件具有具有 secretName> 机密的值<的参数,但它固定到特定的< secretValue:>securePassword .bicepparam

using './main.bicep'

param securePassword = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretPassword', 'exampleSecretVersion')

readEnvironmentVariable

readEnvironmentVariable(variableName, [defaultValue])

此函数返回环境变量的值,如果环境变量不存在,则设置默认值。 变量加载在编译期间发生,而不是在运行时发生。

命名空间:sys

参数

参数 必选 类型​​ 说明
variableName 字符串 变量的名称。
defaultValue string 环境变量不存在时使用的默认字符串值。

返回值

返回值为环境变量的字符串值或默认值。

注解

以下命令仅为在其中执行的 PowerShell 进程设置环境变量。 可从 Visual Studio Code 获取 BCP338

$env:testEnvironmentVariable = "Hello World!"

若要在用户级别设置环境变量,请运行以下命令:

[System.Environment]::SetEnvironmentVariable('testEnvironmentVariable','Hello World!', 'User')

若要在计算机级别设置环境变量,请运行以下命令:

[System.Environment]::SetEnvironmentVariable('testEnvironmentVariable','Hello World!', 'Machine')

有关详细信息,请参阅 Environment.SetEnvironmentVariable Method

示例

以下示例演示如何检索环境变量的值:

use './main.bicep'

param adminPassword = readEnvironmentVariable('admin_password')
param boolfromEnvironmentVariables = bool(readEnvironmentVariable('boolVariableName','false'))

后续步骤

有关 Bicep 参数文件的详细信息,请参阅 为 Bicep 部署创建参数文件。