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