你当前正在访问 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 参数文件的详细信息,请参阅参数文件。