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

Bicep 的参数文件函数

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

getSecret

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

Azure Key Vault 返回机密。 使用此函数将机密传递给 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 密钥保管库中存储的机密的版本。

返回值

机密的值。

示例

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

using './main.bicep'

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

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

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 参数文件的详细信息,请参阅参数文件